| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > Параллельность выполнения процессов после fork() |
| Автор: bonger 10.3.2011, 22:56 | ||||
Нашел следующий линк http://hell.jedicoder.net/?p=82, где в качестве примера приведен код:
И ожидаемый результат работы: IM THE CHILD IM THE PARENT - sleep for 5 seconds - IM THE CHILD2 HIYA Что вижу я (ActiveState Perl, Win 7 x64): C:\pl>pl2.pl IM THE PARENT IM THE CHILD - спим указанные 5 секунд - IM THE CHILD2 HIYA Дополнительная секундная задержка делает вывод как у автора.
Ну и собственно вопрос - в чем и где тут хитрость? Чего то я не понимаю? Или настройки интерпретатора, сама ос... |
| Автор: Pfailed 11.3.2011, 08:36 | ||
| Не определён здесь порядок вывода, может первым как parent напечатать, так и child, как повезёт. Но более логично, что parent успеет напечатать первым, потому как для инициализации дочернего процесса затрачивается какое-то время. Второе на что нужно обратить внимание, это то, что в windows отсутствует системный вызов fork и perl эмулирует его через потоки. Таким образом на адекватную работу можно только надеяться. Например fork бомба
|
| Автор: arto 11.3.2011, 08:37 |
| сама ос |