Остановка двух потоков одним эвентом
От: Hayabusa Россия  
Дата: 21.12.13 22:43
Оценка:
Запостил сюда т.к. использую класс CEvent из ATL.

В общем всю жизнь юзал такую конструкцию, как:


CEvent m_evStop;

// далее в конструкторе
m_evStop(FALSE/*init own*/, FALSE/*manual reset*/)

// в двух потоках ждем этот эвент
while (WAIT_OBJECT_0 != ::WaitForSingleObject(m_evStop, 10)) {/*делаем что-то крайне бесполезное*/}


Каково же было мое удивление, что эвент оказывается сбрасывается функцией WaitForSingleObject и второй поток я рублю с помощью TerminateThread, узнал об этом как добавил логирование..

Как же одним эвентом остановить два потока? Итц поссибл?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.