我喜欢ThreadPool。它使我的生活变得更好。但是,我的爱可能已经悄悄地变成了我需要摆脱的虐待关系,因此我需要我的SO兄弟(可能是姐妹,尽管我还没有看到任何实际证据)提供一些建议。

我的基本问题是,我有几个不同的库,它们都以不协调的方式使用线程池,并且线程用尽是可能的。我希望有某种方法可以对ThreadPool进行分区,以便可以提供特定的1类线程,另外20个线程,另外5个线程,依此类推。

我知道我可以编写自己的ThreadPool实现。我不想这样做,因为我很懒。那么,有没有简单的解决方案呢?

目前,我只能使用3.5 CLR。我知道很多东西在4.0中变得更加容易。

最佳答案

不,很遗憾,不是。这也是我对.NET线程池的烦恼之一。即使在具有Parallel Extensions的.NET 4中,它通常也基于单个系统线程池-您必须做一些工作来创建自己的单独线程池(并将其作为任务调度程序或类似的任务输入任务)。

我怀疑MS已对此进行了研究,发现大多数客户都使用单个线程池-但是我同意在这里具有更多的灵活性是一件好事...

关于c# - 我可以对C#System.Threading.ThreadPool进行分区吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5005471/

10-12 05:20