C# 正在寻找.NET4线程池

C# 正在寻找.NET4线程池,c#,multithreading,.net-4.0,threadpool,C#,Multithreading,.net 4.0,Threadpool,我正在寻找一个好的线程池实现。我知道.NET线程池已经在.NET 4中重写/改进,但我怀疑它是否适合我的需要 我有不同数量的任务必须并行执行。我希望能够控制处理这些任务的线程的最大数量,如果可能的话,能够优先处理这些任务。应在必要时释放空闲线程并创建新线程,直到指定的最小/最大值 据我所知,我无法控制.NET线程池用来处理我的任务的线程数(我不想影响应用程序的其余部分,即代理),我也无法分配一定数量的线程来只处理我的任务 因此,我的问题是: 在我的场景中有没有使用.NET线程池的方法 如果没有

我正在寻找一个好的线程池实现。我知道.NET线程池已经在.NET 4中重写/改进,但我怀疑它是否适合我的需要

我有不同数量的任务必须并行执行。我希望能够控制处理这些任务的线程的最大数量,如果可能的话,能够优先处理这些任务。应在必要时释放空闲线程并创建新线程,直到指定的最小/最大值

据我所知,我无法控制.NET线程池用来处理我的任务的线程数(我不想影响应用程序的其余部分,即代理),我也无法分配一定数量的线程来只处理我的任务

因此,我的问题是:

  • 在我的场景中有没有使用.NET线程池的方法
  • 如果没有,我应该看看哪些好的(最好是免费的)线程池实现?(.NET Framework 4与Windows Azure兼容)
编辑:
作为一项要求,添加了不同数量的线程。

ThreadPool实现的美妙之处在于它能够通过增加/减少池大小来对池的负载做出反应。


如果您没有这样的需求(固定数量的线程适合您),那么您可能不需要一个复杂的线程池。因此,您可能需要一个简单的类来抽象创建和管理线程。

我想您正在寻找System.Threading.Tasks.Task类。简化后,它就像使用线程池,但它会返回任务,这些任务具有与线程类似的API。虽然你不认为你可以优先处理任务,但你确实说过你想并行运行

也许医生能帮你吗


有关如何使用它的更多信息,请访问。

您应该查看该库


你所有的其他问题都有答案,你应该尽快接受一些,否则人们就不太可能回答这个问题。你是对的,我重新审视了一些老问题,并在那里接受了答案(虽然它们不是我想要的,但如果系统是这样工作的,那就这样吧)。通过“控制线程数”实际上,我的意思是最大数量的空闲线程应该被释放,然后在必要时重新创建,我将更新我的问题。你可以编写一个定制的TaskScheduler,它可以给你优先级。请看,TaskScheduler正朝着我想要的方向发展,谢谢Joe。也许已经有一个调度器实现了我想要的功能,我将对此进行研究。看起来不错,但似乎不再积极开发?