了解在终端中并行运行多个命令

时间:2020-04-28 12:06:07

标签: terminal cpu core hyperthreading

根据this post,我们可以在同一终端中同时使用命令之间的&并行运行多个命令。例如:

$ sleep 4 & sleep 4 & sleep 4 & sleep 4

在具有一个CPU(由4个内核组成)的PC上,上述命令将在4秒钟后完成。假设每个内核有2个线程,并且在此PC中启用了超线程,这意味着我们可以并行运行4 * 2 = 8个任务。我的理解是,我们可以在此PC上一次并行运行多达8个命令,并且每个命令将由一个线程完成。但是例如,如果我将上面的代码更改为以下代码

sleep 4 & sleep 4 & sleep 4 & sleep 4 & sleep 4 & sleep 4 & sleep 4 & sleep 4 & sleep 4 & sleep 4 & sleep 4 & sleep 4 & sleep 4 & sleep 4 & sleep 4 & sleep 4 & sleep 4 & sleep 4 & sleep 4 & sleep 4 & sleep 4 & sleep 4 & sleep 4 & sleep 4

具有24条sleep 4命令,它仍然会在4秒后完成。我不确定我的理解是否正确。

0 个答案:

没有答案