我刚刚开始研究.NET4.0中新的"System.Threading.Tasks"的优点,我想知道是否有任何内置的支持来限制一次运行的并发任务的数量,或者是否应该手动处理这一点.
例如:如果我需要调用一个计算方法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)
谢谢你的帮助.