请教Mutex如何使用
请问Mutex怎么使用?C/C++ codeHANDLE hMutexvolatile int retint main(){hMutexCreateMutex(NULL,false
请问Mutex怎么使用?
C/C++ codeHANDLE hMutex;volatile int ret;int main(){ hMutex=CreateMutex(NULL,false,NULL); //创建Mutex ret=WaitForSingleObject(hMutex,INFINITE); //第一次可以等到Mutex ret=WaitForSingleObject(hMutex,INFINITE); //第一次还能等到Mutex,怎么回事? while(1);}
建立一个Mutex,
怎么两次都能等到Mutex?
问题出在哪里??
[解决办法]Mutex是递归锁,在已获得所有权的线程上多次Wait是不会死锁的。
[解决办法]WaitForSingleObject(hMutex,INFINITE); 好象是说等hMutex直到它有所谓的标志吧.
当它有标志了,那么你再去WaitFor,它一样还是又标志的,无论你WaitFor多少次都是有标志的....
事件的时候,有个AUTO的参数,如果它的标志为真,等到之后它的标志就自动变成假了.