BackgroundWorker线程的数量是多少?

时间:2011-04-27 02:57:51

标签: vb.net multithreading visual-studio-2010 backgroundworker

我正在编写一个'管理控制台',通过其提供的COM接口访问hMailServer。我正在使用Visual Basic 2010 Express。在一个程序中,它扫描整个帐户。因为这是一个冗长的过程,所以我将它推入一组BackgroundWorker线程中。

第一个结果:最多19个同步线程,总时间为36秒。

然后我重写了一个耗时的线程初始化代码段,并设法将所需的时间减少到大约14秒......但线程数现在达到了330个线程!

那些巨大的线程会不会有害?例如,导致内存不足异常& c。 ?

1 个答案:

答案 0 :(得分:1)

我无论如何都不是vb专家,但为什么不将这些后台线程的数量限制为机器上可用内核数量的一半?大量线程最有可能导致内存不足或线程不足。