WINAPI 函数 WaitForSingleObject(2)

来源:互联网 发布:数据库采集 编辑:程序博客网 时间:2024/06/05 20:53

WaitForSingleObject(hMutex,INFINITE);

hMutex 为已创建的 互斥对象的句柄,一旦互斥对象处于有信号状态,则该函数返回。
如果互斥对象始终处于无信号状态,即未通知状态,则函数一直等待。
这个对象有两个状态比如我们称0和1,有信号和无信号就是相对的两个状态,你就认为一个状态是0另一个状态是1。在程序里如果加了WaitForSingleObject,那么程序到这里就去检测你给他的那个句柄的状态,如果是0程序就停在这里了,如果是1,程序就继续下去。那么线程同步就要利用这两个状态。假如你有两个线程,都有可能访问同一个文件,而同一个文件是不能被两个线程同时写入的,那么你就需要在写入之前先判断文件有没有被另一个线程在写入,如果有则等着,等另一个线程写完之后你再继续,我们不能用一个死循坏来尝试打开文件知道成功为止,这样会让CPU有非常高的占用率。

0 0
原创粉丝点击