相关疑难解决方法(0)

System.Threading.Tasks - 限制并发任务的数量

我刚刚开始研究.Net 4.0中新的"System.Threading.Tasks"的好处,并且想知道是否有任何构建支持限制一次运行的并发任务的数量,或者是否应该手动处理.

EG:如果我需要调用100次计算方法,有没有办法设置100个任务,但只有5个同时执行?答案可能只是创建5个任务,调用Task.WaitAny,并在前一个任务完成时创建一个新任务.我只是想确保如果有更好的方法,我不会错过任何一招.

基本上,有没有内置的方法来做到这一点:

Dim taskArray() = {New Task(Function() DoComputation1()),
                   New Task(Function() DoComputation2()),
                   ...
                   New Task(Function() DoComputation100())}

Dim maxConcurrentThreads As Integer = 5
RunAllTasks(taskArray, maxConcurrentThreads)
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助.

.net asp.net multithreading task

43
推荐指数
4
解决办法
3万
查看次数

标签 统计

.net ×1

asp.net ×1

multithreading ×1

task ×1