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

Ilya Chesnokov chesnokov.ilya на gmail.com
Чт Июн 5 05:01:29 PDT 2014


5 июня 2014 г., 15:46 пользователь Харпалёв Иван
<ivan.kharpalev на gmail.com> написал:
> Добрый день, могучий MoscowPM
>
> Опять про параллельную обработку.
>
> Хочется написать вот такую схему обработки ввода:
> master создаёт work'ов,
> читает порции из файла, раздаёт порции worker'ам
> ждёт, пока worker обработает, получает ответ worker'a
> пишет результат в файл.
> Так же мастер буфереизует вывод, чтобы выход писался в правильном порядке.
>
> Самое туманное:
> Как передавать данные от мастера к worker'у и Обратно?!!!!
> Как ждать готовности?!!!
> Должна ли такая схема (работа с диском из одного места) дать ускорение по
> сравнению с чтением/записью файла в каждом worker'е?

К слову, все это легко можно сделать через Gearman :)

> смотрел на Coro, увидел Coro::Simaphore, Coro::Signal ... но не пойму:
>   как сделать разделяемую память, (как быстро передавать данные между
> мастером и worker'ом внутри Perl)?
>   как сделать неблокирующее ожидание готовности одного из worker'ов (при
> котором можно заниматься вводом-выводом)?
>
> Подскажите, на чём и как такое писать!!
> Спасибо!
>
> Уважение
> Иван Харпалев
>
>
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>



-- 
Best regards,
Ilya Chesnokov


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