Каков самый простой способ приостановить Consumer в шаблоне PC?

У меня типичное приложение производитель-потребитель. У меня есть BlockingCollection для обеспечения механизма производства-потребления. Что мне нужно, так это добавить возможность приостанавливать выполнение потребительского потока из другого потока. Я читал о различных примитивах синхронизации .net, но не могу решить, как это реализовать проще всего.

P.S.: Я использую .net 4.0.


person levanovd    schedule 13.05.2011    source источник


Ответы (1)


Используйте AutoResetEvent и подождите его в Потребителе, пока другой поток снова не разбудит его, установив для него значение signaled.

person Tony The Lion    schedule 13.05.2011
comment
Спасибо. Я использовал EventWaitHandle, так как мне нужна возможность управлять сбросом вручную, но в целом ваш ответ был полезен. - person levanovd; 13.05.2011