Согласно этой записи , мы можем одновременно запускать несколько команд в одном терминале, используя &
между командами. Например:
$ sleep 4 & sleep 4 & sleep 4 & sleep 4
Приведенная выше команда завершится sh через 4 секунды на P C с одним ЦП, состоящим из 4 ядер. Предположим, что каждое ядро имеет 2 потока, и в этом P C включена гиперпоточность, что означает, что мы можем выполнять 4 * 2 = 8 задач параллельно. Насколько я понимаю, мы можем одновременно запускать до 8 команд в этом P C, и каждая команда будет выполняться одним потоком. Но, например, если я изменю приведенный выше код на следующий
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
команд, он все равно завершится sh через 4 секунды. Я не уверен, правильно ли я понимаю.