windows C++ 用信号量控制线程

259 篇文章 4 订阅

控制信号量几个主要的函数:

WaitForSingleObject();//等待信号量有效 
CreatSemaphore(); //申请信号量  
OpenSemaphore(); //打开信号量  
ReleaseSemaphore(); //释放信号量
函数原型:
1.创建
HANDLE ghSemaphore = CreateSemaphore(
                                            NULL, // default security attributes - lpSemaphoreAttributes是信号量的安全属性
                                            MAX_SEM_COUNT, // initial count - lInitialCount是初始化的信号量
                                            MAX_SEM_COUNT, // maximum count - lMaximumCount是允许信号量增加到最大值
                                            NULL); // unnamed semaphore - lpName是信号量的名称 
2.关闭
CloseHandle(ghSemaphore); //handle to semaphore - hSemaphore关闭信号量句柄
3.释放信号量
ReleaseSemaphore(
          ghSemaphore, // handle to semaphore - hSemaphore是要增加的信号量句柄
          1, // increase count by one - lReleaseCount是增加的计数
          NULL)// not interested in previous count - lpPreviousCount是增加前的数值返回
4.等待信号量有效
DWORD dwWaitResult= WaitForSingleObject(
                                            
ghSemaphore,// handle to semaphore
                                            
0L(or INFINIATE));// zero-second time-out interval
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值