我创建了两个线程A和B,每个线程创建一个定时器。
与线程A中的定时器timeout连接的槽函数为
{
timer->stop();
iWaitCnt++;
mutex.lock();
waitCondition.wait( &mutex, ULONG_MAX );
mutex.unlock();
timer->start(1000);
}
与线程B中的定时器timeout连接的槽函数为
{
timer->stop();
iWakeCnt++;
timer->start(1000);
}
运行后,发现B中的定时器没有运行.如果把A中的waitCondition.wait( &mutex, ULONG_MAX );改为
waitCondition.wait( &mutex,500 );那么A,B两个线程中的定时器都能正常触发。请问是为什么?谢谢