2010-10-04 100 views
3

我写了一个使用OLE程序,它工作正常,直到我说这是我的程序很重要的一些组件,在那之后我的程序有问题,当开始使用OLE工作,并提高此异常:线程管理问题!

"EOleSysError 
    No more threads can be created in the system" 

有没有办法请求更多的线程或免费使用线程或类似的东西?如何解决这个问题? 谢谢。

+2

如果您的应用程序创建了太多线程,则解决方案可能不会请求更多线程。我认为它应该被修复,以便它不会创建太多的线程。 – 2010-10-04 17:22:34

+0

重要的事情是我不要自己创建这些线程!所以我不能处理它们,他们是由组件创建的那些即时通讯使用 – Armin 2010-10-04 17:42:34

+0

哪些组件?你如何使用它们? – 2010-10-05 08:02:29

回答

8

我强烈建议,如果你不能修复它们(告诉作者修复它们),或者如果错误在你身边,就开始正确使用它们。达到进程的线程限制是一个严重的问题,绝不应该发生。没有办法解决这个问题,但修复了导致它的代码。

阅读:Pushing the Limits of Windows: Processes and Threads

+0

我无法修复它,因为它没有打开。我确定故障不在我身边(使用这个组件前一切都很好,顺便说一句,我没有编写任何线程或线程方式)。 – Armin 2010-10-05 13:20:10

+0

这是一篇非常有用和有趣的文章,谢谢 – Armin 2010-10-05 13:23:23

+0

我强烈建议你寻找替代方案。还有一个开放的。我不会建议找到一些不起眼的解决方法,因为在我看来,在这种情况下没有任何可以接受的方法。至少可能有99%的案例。但我感到你的痛苦,我知道你现在处于什么样的状况。 – Runner 2010-10-05 15:10:03

2

也许你在一个糟糕的方式使用这些组件?所以这些组件保持连接和线程打开而不是关闭它们?

您使用哪种组件?那么,你是否有一些示例代码?