Язык программирования Perl



              

Параллельное выполнение процессов - часть 2


Без ожидания потомка С ожиданием потомка по waitpid() ---------------------------- -------------------------------- Начался потомок PID -1024 Начался потомок PID -1908 Потомок PID -1024 работает 1 Потомок PID -1908 работает 1 Начался предок PID 1504 Начался предок PID 1876 Предок PID 1504 работает 1 Предок PID 1876 работает 1 Предок PID 1504 работает 2 Предок PID 1876 работает 2 Потомок PID -1024 работает 2 Потомок PID -1908 работает 2 Предок PID 1504 работает 3 Предок PID 1876 работает 3 Закончился предок PID 1504 Предок PID 1876 ждет завершения -1908 Потомок PID -1024 работает 3 Потомок PID -1908 работает 3 Закончился потомок PID -1024 Закончился потомок PID -1908 Закончился предок PID 1876

Выполнение всей программы заканчивается, когда заканчивается последний порожденный процесс. Ожидание окончания выполнения всех дочерних процессов можно организовать с помощью функции wait(), которая возвращает PID завершившегося подпроцесса и -1, если все процессы-потомки завершили работу.




Содержание  Назад  Вперед