我可以运行多少个并行进程?

时间:2018-12-28 20:39:01

标签: parallel-processing .net-core task-parallel-library

我有一个带8个逻辑处理器的corei7处理器。

我正在尝试使用parallel.For在dotnet core 2.2中运行并行任务。 当我测量开始时间时,有9个并行任务开始。 是不是应该只有8岁?

在下面您可以看到:

i => [ThreadId],[ProcessorNumber] ==开始时间-结束时间

enter image description here

并行任务结果

1 个答案:

答案 0 :(得分:0)

您可以并行运行任意多个任务,但是处理器只有8个逻辑核心,可以同时处理8个线程。其余的人将总是排队等候轮到他们。

因此,如果您有16个并行进程,每个进程需要200毫秒才能运行,那么您将并行运行1-8进程200ms,然后并行运行9-16持续200ms,总计400ms。如果您有4个逻辑核心,则将并行运行1-4、5-8、9-12、13-16进程,总共需要800ms。