.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.
}
答案 0 :(得分:3)
TPL使用爬山算法在没有任务本身协作的情况下找到最佳线程数。它只是不断注入线程,直到任务完成率没有进一步提高。