Я один поток, ожидающий на EventWaitHandle (AutoResetEvent):Безопасно ли вызывать. Закрыть (.Dispose) на EventWaitHandle непосредственно после .Set?
AutoResetEvent.WaitOne();
У меня есть еще один поток сигнализации первый поток для продолжения
AutoResetEvent.Set();
AutoResetEvent.Close();
Безопасно ли звонить .close направлять после .set, другими словами, будет ли гарантировано, что ожидающая нить продолжается до того, как будет отключен AutoResetEvent?
[docs for 'Close'] (https://msdn.microsoft.com/en-us/library/system.threading.waithandle.close (v = vs.110) .aspx) говорят: _" Как только этот метод вызывается, ссылки на текущий экземпляр вызывают неопределенное поведение ». _ Является ли это для новых ссылок на него или существующих, таких как ваш вызов' WaitOne', не уточняется. Но я не хотел бы попробовать ... почему бы не закрыть/избавить его от того, кто делает ожидания? –
Потому что ожидание не является обязательным, поэтому он не будет удален, а если ожидание не будет выполнено ... – Edwin