【发布时间】:2012-08-01 02:33:56
【问题描述】:
我有一个应用程序承担未知数量的任务。任务阻塞(他们在网络上等待)我需要多个线程来保持忙碌。
有没有一种简单的方法可以让我拥有一个庞大的任务和工作线程列表,它们会在空闲时拉出任务? ATM 我只是为每个任务启动一个新线程,这很好,但我想要一些控制,所以如果有 100 个任务,我就没有 100 个线程。
【问题讨论】:
-
这通常被称为“线程池”,这种方法确实被 TPL(任务并行库)所采用。
-
您使用的是哪个版本的 .NET? (.NET 4 的任务并行库使这变得更加容易。如果您可以在 .NET 4.5 中使用异步执行,它可能会更好......)
-
你可以使用线程池,它会在需要时分配线程
-
@JonSkeet:我都可以使用。但在异步方面我更喜欢 4 ;)
-
你看过这篇文章了吗? stackoverflow.com/questions/444627/…
标签: c# multithreading