- Регистрация
- 23 Июл 2007
- Сообщения
- 77
- Реакции
- 1
- Автор темы
- Заблокирован
- #1
слышал есть много разных вариантов, скриптом нужно сделать паралельно много коннектов к серверу, +как из перл скрипта запускать другие скрипты параллельно?
Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
# set up the socket SERVER, bind and listen ...
use POSIX qw(:sys_wait_h);
sub REAPER {
1 until (-1 = = waitpid(-1, WNOHANG));
$SIG{CHLD} = \&REAPER; # unless $]>= 5.002
}
$SIG{CHLD} = \&REAPER;
while ($hisaddr = accept(CLIENT, SERVER)) {
next if $pid = fork; # parent
die "fork: $!" unless defined $pid; # failure
# otherwise child
close(SERVER); # no use to child
# ... do something
exit; # child leaves
} continue {
close(CLIENT); # no use to parent
}
треды на перле слегка убогие, плюс их реализация например под фрибсд будет весьма проблематична, под линуксом более менее прилично, но тоже гемморой. для меньшей мороки посоветую на search.cpan.org поискать ForkManager, нагрузка на проц не большая, память сильно потоки не отжирают, и главный плюс - не нужно геммороиться... используется в некоторых моих проектах уже около 3 лет, нареканий пока не вызывал...спасибо конечно, с форком я дулал уже, не понравилось что много проца жрет, насколько я знаю для каждого процесса отельно выделяется буфер памяти опр размера, +нагрузка на проц возрастает я слышал про нити(thread) но реально хорошего примера не нашел
под фрей нити не пашут
Я слышал, абсолютно точно, не знаю, говорят что нити более Windows технология, и хорошо она работает только в них. Из UNIX`ов нити хорошо работают только на Solaris.треды на перле слегка убогие, плюс их реализация например под фрибсд будет весьма проблематична, под линуксом более менее прилично, но тоже гемморой
Что-то не ясно почему форки жрут больше процессора, с памятью - да могут быть сложности, но это решаемо. Суть в том что вся память используемая родителем, копируется в детей - поэтому может существовать мнение, что дети много жрут памяти, при грамотном проектировании такой проблемы быть не должно.с форком я дулал уже, не понравилось что много проца жрет, насколько я знаю для каждого процесса отельно выделяется буфер памяти опр размера