Re[2]: покритикуйте! - имплементация boss-workers
От: Olksy Украина  
Дата: 24.05.11 14:08
Оценка:
Здравствуйте, 5er, Вы писали:

5er>Здравствуйте, Olksy, Вы писали:


O>>Пожалуйста покритикуйте мою имплементацию самого самого распостраненного паттерна многопоточного программирования Boss Worker!


5er>На вскидку:


5er>Количестно тасок worker'ами не должно быть в общем случае известно заранее,

5er>т.е. боссу нужно передавать не queueBegin и queueEnd, а например объект, предоставляющий
5er>поток тасок на выполнение.

По поводу очереди [queueBegin, queueEnd), через эти два можно передать очередь данных без фактических ограничеинй, т.е. закодить её в виде потоковых итераторов.

5er>Зачем создавать все worker'ы, лучше создавать по необходимости. Например, зачем создавать

5er>сто потоков, когда с решением конкретной задачи справятся два-три.

Согласен с замечанием по поводу воркеров. В самом деле, несообразно создавать over 9000 их если тасков всего пусть будет 2.

5er>С формированием результата неочевидно. Может лучше сделать объект,

5er>принимающий поток результатов обработки.
5er>tasks >> Boss(workers) >> results.

productOutputIterator тож может представлять собой что угодно, но использует всё ту же семантику stl-итераторов.

Спасибо за коменты!!!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.