<div dir="ltr">Добрый день, могучий MoscowPM<div><br></div><div>Опять про параллельную обработку.</div><div><br></div><div>Хочется написать вот такую схему обработки ввода: </div><div>master создаёт work'ов, </div><div>
читает порции из файла, раздаёт порции worker'ам</div><div>ждёт, пока worker обработает, получает ответ worker'a </div><div>пишет результат в файл.</div><div>Так же мастер буфереизует вывод, чтобы выход писался в правильном порядке.</div>
<div><br></div><div>Самое туманное:</div><div>Как передавать данные от мастера к worker'у и Обратно?!!!!</div><div>Как ждать готовности?!!!</div><div>Должна ли такая схема (работа с диском из одного места) дать ускорение по сравнению с чтением/записью файла в каждом worker'е?</div>
<div><br></div><div>смотрел на Coro, увидел Coro::Simaphore, Coro::Signal ... но не пойму:</div><div>  как сделать разделяемую память, (как быстро передавать данные между мастером и worker'ом внутри Perl)?</div><div>  как сделать неблокирующее ожидание готовности одного из worker'ов (при котором можно заниматься вводом-выводом)?</div>
<div><br></div><div>Подскажите, на чём и как такое писать!!</div><div>Спасибо!</div><div><br></div><div>Уважение</div><div>Иван Харпалев</div><div><br></div><div><br></div></div>