我想使用 F# 中的任务并行库 (TPL) 来执行许多 (>1000) 长时间运行的任务。这是我当前的代码:
Parallel.For(1, numberOfSets, fun j ->
//Long running task here
)
当我开始这个时,似乎 .NET 会立即启动所有任务并不断在它们之间反弹。更好的是,如果它一直执行一项任务,直到它完成,然后再进行下一个任务。这将最小化上下文切换。
有没有办法向调度程序提供提示?我知道可以提供提示,但是我找不到明确的示例,或者调度程序对此是否已经很聪明,这只是我的看法,即发生了太多的上下文切换。谢谢您的帮助!