b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

mutex用法_createmutex_mutex使用

电脑杂谈  发布时间:2017-01-04 09:03:30  来源:网络整理

createmutex_mutex使用_mutex用法

最近写一程序,误用了Mutex的功能,错把Mutex当Event用了。mutex用法

【Mutex】

使用Mutex的主要函数:CreateMutex、ReleaseMutex、OpenMutex、WaitForSingleObject、WaitForMultipleObjects。

CreateMutex:其中第二个参数是表示当前线程拥有权。

TRUE:创建线程获得初始所有权的互斥对象(即信号已被当前线程获得,没有释放前其它线程不能获得。如果当前线程调用了WaitForSingleObject函数,则释放次数等于调用次数加1)。

FALSE:创建线程没有获得互斥对象的所有权。也就是自由争取,看谁先Wait到。

不管怎么样,MUtex的释放规则是:谁拥有谁释放,还有程结束时,线程所获得的Mutex自动释放;当然还可以使用命名Mutex做唯一性验证,这个在整个windows生存期下有效。

【Event】

createmutex_mutex使用_mutex用法

与Mutex不一样,Event是任何时候都是可以操作的,而且没有同调用多次WaitForSingleObject和同时释放多次一说。它的主要操作函数有:CreateEvent、SetEvent、WaitForSingleObject。

CreateEvent参数说明。

第二个参数表示调用WaitForSingleObject后手动(TRUE)/自动(FALSE)为无信号状态。

第三个参数表示初始状态为有(TRUE)/无(FALSE)信号。

Event的获得是通过一个队列去排队获得的,SetEvent没有限制使用,在任何可以调用的地方都可以调用。

Mutex,的互斥是以线程为基本单位,而Event是以代码段为基本单位。所以在两者的使用上有着不同的功能用途。mutex用法


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-24574-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...