.Net:我得到了以下异常InteropServices.COMException:"No more threads can be created in the system."



我有一个.Net应用程序,它与一些COM对象通信,我在COM中得到了以下异常:System.Runtime.InteropServices.COMException(0x800700A4):系统中无法再创建线程。(HRESULT:0x800700A4的异常)

这是否意味着COM对象创建了太多线程(据我所知,线程限制是针对进程的),或者Windows中的线程太多(可能是句柄太多)?或者谁对故障、我的系统或COM对象负责?

此问题的根本原因是COM对象为每个调用创建了一个新线程,导致资源共享
本文(存档版本)解释了线程限制问题:
"因为每个线程都会占用进程地址空间的一部分,所以进程可以创建的线程数量有一个基本限制,这个限制是由其地址空间的大小除以线程堆栈的大小决定的。"

相关内容

最新更新