if(MyEvent.WaitOne(1, false))
{
// Событие установлено
} else
{
// Событие сброшено
}
Несколько вопросов по AutoResetEvent
2. AutoResetEvent. Как можно проверить, сработал ли он, не останавливая поток.
Цитата:
If more than one object became signaled during the call, this is the array index of the signaled object with the smallest index value of all the signaled objects.
Т.е. вернется наименьший номер(индекс) event'а в массиве.
2. Стандартных способов, насколько я знаю - нет. Можно извернуться, вызвав WaitOne с маленьким таймаутом:
Код:
Но, скорее всего, у тебя что-то не так с алгоритмом. Попробуй его пересмотреть так, чтобы не использовать таких проверок.