vc++ 中的 事件和互斥量

事件:    用来通知线程有一些事件已发生,从而启动后继任务的开始。event更多用于线程同步 

互斥量 : 为协调多个线程对共同对一个共享资源的单独访问而设计的。mutext更多的是用在对同一个资源访问互斥上



               初始设置                                                   设置有信号                               设置无信号              调用WaitForSingleObject后              有信号表示                      无信号表示
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 
事件:   true(有信号),false(无信号)          SetEvent()或PulseEvent()             ResetEvent()       有信号时将返回,无信号时将阻塞               空闲                            有线程使用
                                                                                                                                                                    有信号--》无信号


互斥量: false(有信号),true(无信号)        ReleaseMutex()                                                             有信号时将返回,无信号时将阻塞                空闲                           有线程使用
                                                                           结束对hMutex占用                                                         有信号--》无信号



       HANDLE m_aaa;

if(!m_aaa)
{
m_aaa= CreateEvent(NULL, TRUE, FALSE, NULL);//TRUE: 用完后,ResetEvent()API被调用时才会恢复 为无信号  //FALSE:处于无信号  
}

      ret = SetEvent(m_aaa);//设置有信号


       HANDLE m_bbb;

      if(!m_bbb)
     {
    m_bbb= CreateMutex(NULL, false, NULL);//false:不属于任何线程,处于有信号
      }



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值