我有一個線程等待一個的EventWaitHandle(的AutoResetEvent):在.Set之後直接調用.Close(.Dispose)EventWaitHandle是否安全?
AutoResetEvent.WaitOne();
我有另一個線程信號的第一個線程繼續
AutoResetEvent.Set();
AutoResetEvent.Close();
它是安全的調用.SET後.Close直接,換句話說,可以保證在AutoResetEvent處理之前等待的線程已經繼續了嗎?
[文檔爲'Close'](https://msdn.microsoft.com/en-us/library/system.threading.waithandle.close(v = vs.110).aspx)說:_「一旦調用了這個方法,對當前實例的引用就會導致未定義的行爲。「_無論是對它的新引用,還是現有的引用,例如對'WaitOne'的調用都不明確。但我不想嘗試它......爲什麼不把它從正在等待的人那裏關閉/處置掉? –
因爲等待是可選的,所以如果等待沒有完成,它將不會被處置。 – Edwin