WaitForSingleObjec(1)

来源:互联网 发布:js removeclass 编辑:程序博客网 时间:2024/05/01 09:17
WaitForSingleObject(hMutex,INFINITE);
hMutex 为已创建的 互斥对象的句柄,一旦互斥对象处于有信号状态,则该函数返回。如果互斥对象始终处于无信号状态,即未通知状态,则函数一直等待。


对象有两个状态比如我们称0和1,称什么一点也不重要,有信号和无信号就是相对的两个状态,没什么意义,你就认为一个状态是0另一个状态是1。


在程序里如果加了WaitForSingleObject,那么程序到这里就去检测你给他的那个句柄的状态,如果是0程序就停在这里了,如果是1程序就继续下去。那么线程同步就要利用这两个状态。

假如你有两个线程,都有可能访问同一个文件,而同一个文件是不能被两个线程同时写入的,那么你就需要在写入之前先判断文件有没有被另一个线程在写入,如果有则等着,等另一个线程写完之后你再继续,我们不能用一个死循坏来尝试打开文件知道成功为止,这样会让CPU有非常高的占用率。


0 0
原创粉丝点击