Вот, сел PERL изучать. Объясните следущее:
Пример из учебника:
my $pid;
unless( $pid = fork ) {
unless( fork ) {
# полезный код
exit 0;
}
exit 0;
}
waitpid($pid,0);
Здесь, как я понимаю, создаётся дочерний поток (1) который создаёт в свою очередь свой дочерний
поток (2). При этом, основной родительский процесс ждёт ожидания своего дочернего потока (1).
У меня есть подозрение, что данная конструкция которая приведена в учебнике предназначена для
того чтобы дождаться завершения внутреннего fork, создающего поток (2). Зачем? Зачем здесь
второй fork, ведь, waitpid и так дождётся завершения дочернего потока (1), вутри которого
можно и были бы выполнить полезный код??
И как правильно создать в цикле несколько потоков и дождаться их завершения?
Есть ли в перле способ сразу инициализировать массив одним значинием при создании?


Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Quiz для профф. Pay attention, please. (2023)
- Статьи Как кушать вилкой. ... или о fork() в двух словах (2023)
- Форум Пара вопросов по perl (2010)
- Форум [СИ] Простой HTTP-сервер. (2011)
- Форум Perl: таймаут для <STDIN>, еще пару вопросов. (2008)
- Форум Пар (2013)
- Форум $params->{$param} = парам-парам (2010)
- Форум [perl] strawberry perl (2009)
- Форум Пара-пара-парам-пам-пам доксы времяпрепровождения ЛОРовцев (2012)
- Форум [perl] (2010)