关于信号事件那些事儿

CreateEvent参数含义

bManualReset bInitialState  Wait1    Wait2

TRUE      TRUE        立即返回  立即返回 

TRUE      FALSE        超时返回  超时返回 

FALSE      TRUE        立即返回 超时返回

FALSE      FALSE       超时返回  超时返回 



如果有信号,立即返回,如果无信号,超时返回


bManualReset 为TRUE时,一旦调用SetEvent会一直有信号,一旦调用ResetEvent会一直无信号,

如果有多个线程同时等待这个信号,他们都能获得信号


bManualReset 为FASLE时,如果有信号,调用wait函数后立即返回,然后会自动变成无信号

如果有多个线程在等待这个信号,只有一个线程可以得到这个信号,它得到后,立即变成无信号,所以其它线程得不到信号

先得到信号的线程,一定是先调用wait的线程吗?


你可能感兴趣的:(同步,信号)