Очистить несколько наборов после нажатия WaitOne() в AutoResetEvent

Нужно ли вызывать reset для очистки нескольких наборов после нажатия WaitOne(); из AutoResetEvent в C#?


person user1522673    schedule 26.03.2014    source источник
comment
Я исправил заголовок, насколько мог, но не могли бы вы добавить некоторые детали к вопросу? Желательно с некоторым контекстом и примером кода.   -  person CodingIntrigue    schedule 26.03.2014
comment
Спасибо, RGraham. Я просто хочу знать, как он себя ведет. если я устанавливаю несколько раз, прежде чем нажать Waitone(), подождите, пока не очистятся все наборы? или первый набор будет очищен, а все остальные останутся в списке наборов?   -  person user1522673    schedule 26.03.2014
comment
Слово AutoReset в названии класса — довольно сильный намек на то, что вы этого не делаете. В отличие от ManualResetEvent. Множественный набор почти всегда является генератором ошибок, скорее всего, вам следует обратить внимание на Semaphore или CountdownEvent.   -  person Hans Passant    schedule 26.03.2014


Ответы (1)


AutoResetEvent не имеет счетчика - только состояние "установлено/не установлено", так что нет, вам не нужно делать ничего особенного после возврата вызова WaitOne(), даже если событие было установлено несколько раз.

person 500 - Internal Server Error    schedule 26.03.2014