任务并行库 - 阻止操作?

时间:2012-03-16 11:13:42

标签: c# .net task-parallel-library

.NET任务并行库如何使用阻塞操作处理任务?在C ++ Concrt库中,您有Context::Oversubscribe方法,但我在.NET库中没有找到这样的东西? LongRunningTask选项是否是处理阻塞任务的相应方式?

.i.e:在C ++中你会这样做:

auto my_task_func = []
{
     //Do work...
     Context::Oversubscribe(true);
     // Short or long blocking op.
     Context::Oversubscribe(false);
     //Do more work.

}

1 个答案:

答案 0 :(得分:3)

TPL使用爬山算法在没有任务本身协作的情况下找到最佳线程数。它只是不断注入线程,直到任务完成率没有进一步提高。