.Net:我得到了以下异常InteropServices.COMException:“系统中不能创建更多的线程。”

时间:2011-06-02 12:18:34

标签: .net com

我有.Net应用程序与某个COM对象通信,我在COM中遇到以下异常: System.Runtime.InteropServices.COMException(0x800700A4):系统中不能再创建线程。 (HRESULT异常:0x800700A4)

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

1 个答案:

答案 0 :(得分:3)

此问题的根本原因是COM对象正在为每个调用创建一个新线程,从而导致资源可能性。
This article解释了线程限制问题:
“因为每个线程都占用了进程地址空间的一部分,所以进程对它们可以创建的线程数量有一个基本的限制,这是由地址空间的大小除以线程堆栈大小所强加的。”