为什么会死锁?
{
HANDLE h[2];
h[0] = hAutoResetEvent1; //event 是自动的,初始信号为未触发
h[1] = hAutoResetEvent1; //event 是自动的,初始信号为未触发
waitformutipleobjects(2, h, true, infinite);
}
假设waitformutipleobjects 不是原子操作,
请问在多线程的什么情况下,这代码会导致死锁呢?
提示: waitfor系列函数 会对 自动事件修改状态,如 发现某个事件是触发,会修改为未触发。