Ответ 1
Выполните a WaitOne
в событии с нулевым значением тайм-аута.
Он вернет true, если событие установлено, или false, если произойдет таймаут. Другими словами, установлено значение true → , false → событие не установлено.
Я использую экземпляр ManualResetEvent
для управления потоковым доступом к ресурсу, но у меня возникают проблемы с ним. Кто-нибудь знает, как я могу узнать во время отладки, что такое состояние объекта?
То есть я хотел бы знать, блокирует ли ManualResetEvent
любые потоки и, возможно, даже сколько и какие потоки блокируются.
Выполните a WaitOne
в событии с нулевым значением тайм-аута.
Он вернет true, если событие установлено, или false, если произойдет таймаут. Другими словами, установлено значение true → , false → событие не установлено.
Вот рабочий код:
private ManualResetEvent pause = new ManualResetEvent(false);
pause.WaitOne(); // caller thread pauses
pause.Set(); // another thread releases paused thread
// Check pause state
public bool IsPaused { get { return !pause.WaitOne(0); } }