Mam skrypt Perla, który wyświetla wiele podprocesów. Chciałbym mieć jakąś funkcjonalność, taką jak xargs --max-procs=4 --max-args=1
lub make -j 4
, gdzie Perl będzie utrzymywał określoną liczbę uruchomionych procesów, dopóki nie skończy się praca.kolejka procesów perla
Łatwo jest powiedzieć, że proces "widelec czwarty" i czekać, aż wszystkie się zakończą, a następnie rozwidlić kolejne cztery, ale chciałbym, aby cztery lub kilka procesów przebiegało w tym samym czasie, rozwidlając nowy proces, gdy tylko kończy.
Czy w Perlu istnieje prosty sposób wdrożenia takiej puli procesów?
Jaka jest różnica między blokiem a kolejką? – srchulo
'blok' sprawi, że twój program zaczeka, aż niektóre procesy potomne zakończą się, aby można było rozpocząć następne zadanie. 'queue' umieszcza bieżące zadanie w kolejce i pozwala na nieprzerwane działanie twojego programu. Zadania w kolejce zostaną uruchomione asynchronicznie po zakończeniu innych procesów podrzędnych. – mob
Ohhh, okej. Wielkie dzięki! – srchulo