Re: Multi-producer/multi-consumer задача.
От: ilnar Россия  
Дата: 03.10.10 08:34
Оценка:
Здравствуйте, BloodyTux, Вы писали:

BT>Здравствуйте!


BT>Возникла следующая задача: имеется большое количество клиентских потоков (высокая конкуренция, т.е. порядка 100-200 штук ) и несколько рабочих в зависимости от числа ядер процессора. Клиенты отправляют задания для рабочих потоков (помещают в общую очередь), а потом через некоторое время проверяют выполнено ли задание и забирают результат, если он готов. Основное требование — постоянная загрузка рабочих потоков. Я прикинул, что если скажем 2 рабочих потока будут ломится через тот же мьютекс, что и 200 потоков клиентов, то они будут простаивать. Вопрос: спасут ли ситуацию lock-free алгоритмы? Или может быть есть какое-то типовое решение данной проблемы.


http://www.drdobbs.com/cpp/212201163
http://www.drdobbs.com/cpp/211601363
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.