Re[2]: Рассылка данных от одного сервера к нескольлким клиен
От: dimchick Украина  
Дата: 15.07.11 06:57
Оценка:
Здравствуйте, sz36, Вы писали:

S>Здравствуйте, dimchick, Вы писали:


D>>- ManualResetEvent не подходит потому, что клиент может начать обрабатывать данные по второму кругу и еще нужно както думать, когда его выключать.


S> Если серверу известно кол-во клиентов, то можно использовать ManualResetEvent вместе с InterlockedExchangeAdd. Сервер прибавляет к значению разделяемой переменной 20 (по числу клиентов) и будит клиентов Event'ом. Каждый клиент вычитывает данные и вычитает из переменной по единичке. Последний клиент понимает, что он последний, по нулевому значению переменной и сбрасывает Event.


Минусов тут два:
1. Клиенты будут просыпаться и в холостую работать, пока все не отработают
2. Если кто-то из клиентов отвалится (упадет процесс), или просто глюк в реализации, то это отразится на остальных клиентах.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.