Как контролировать количество запущенных рабочих процессов? - PullRequest
4 голосов
/ 09 февраля 2010

Что такое шаблон проектирования в erlang с точки зрения gen_server для создания фиксированного числа рабочих процессов и передачи им «заданий» для выполнения некоторых действий? Каждый рабочий процесс взаимодействует с внешним сервисом, который имеет ограничения на соединение. Количество «рабочих мест» считается неограниченным. В C я бы сделал это, создав пул рабочих потоков и асинхронный. Очередь (с ограниченной емкостью), защищаемая мьютексом для подачи в пул заданий от отправителя.

1 Ответ

2 голосов
/ 09 февраля 2010

Пусть gen_server установит контроль над вашими рабочими процессами, а когда один из них умрет (либо работа завершена, либо завершится сбоем), создаст другой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...