Многопоточность в Bash [дубликат]

74
задан CaptJak 21 September 2016 в 22:41
поделиться

2 ответа

Конечно, просто добавьте и после команды:

read_cfg cfgA &
read_cfg cfgB &
read_cfg cfgC &
wait

все эти задания будут выполняться в фоновом режиме одновременно. Затем необязательная команда wait будет ожидать завершения всех заданий.

Каждая команда будет выполняться в отдельном процессе, поэтому технически это не «многопоточность», но я считаю, что это решает вашу проблему.

159
ответ дан 24 November 2019 в 11:50
поделиться

Управление заданиями Bash включает несколько процессов, а не несколько потоков.

Вы можете выполнить команду в фоновом режиме с суффиксом и .

Вы можете дождаться завершения фоновой команды с помощью команды wait .

Вы можете выполнять несколько команд параллельно, разделив их | . Это также обеспечивает механизм синхронизации, поскольку стандартный вывод команды слева от | соединен со стандартным вводом команды справа.

21
ответ дан 24 November 2019 в 11:50
поделиться