[Moscow.pm] Обмен данными с потоком.

Харпалёв Иван ivan.kharpalev на gmail.com
Чт Июн 5 04:46:28 PDT 2014


Добрый день, могучий MoscowPM

Опять про параллельную обработку.

Хочется написать вот такую схему обработки ввода:
master создаёт work'ов,
читает порции из файла, раздаёт порции worker'ам
ждёт, пока worker обработает, получает ответ worker'a
пишет результат в файл.
Так же мастер буфереизует вывод, чтобы выход писался в правильном порядке.

Самое туманное:
Как передавать данные от мастера к worker'у и Обратно?!!!!
Как ждать готовности?!!!
Должна ли такая схема (работа с диском из одного места) дать ускорение по
сравнению с чтением/записью файла в каждом worker'е?

смотрел на Coro, увидел Coro::Simaphore, Coro::Signal ... но не пойму:
  как сделать разделяемую память, (как быстро передавать данные между
мастером и worker'ом внутри Perl)?
  как сделать неблокирующее ожидание готовности одного из worker'ов (при
котором можно заниматься вводом-выводом)?

Подскажите, на чём и как такое писать!!
Спасибо!

Уважение
Иван Харпалев
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20140605/739686aa/attachment.html>


Подробная информация о списке рассылки Moscow-pm