Windows线程 信号量 CreateSemaphore创建信号量、RelaseSemaphore设置信号量

信号量
相关问题
类似于事件(作用类似),解决通知的相关问题。但提供一个计数器,可以设置次数。
信号量的使用
1.创建信号量
HANDLE CreateSemaphore(
LPSECURITY_ATTRIBUTES lpSemaphoreAttributes,//参数作废,基本用NULL
LONG lInitialCount,//初始化信号量数量,每碰到一次WaitFor…时,数量减1,当为0时产生阻塞
LONG lMaxximumCount,//信号量的量大值
LPCTSTR lpName //命名
); //创建成功返回信号量句柄
2.等候信号量
WaitForSingleObject/WaitForMulitipuleObjects
每等候通过一次,信号量的信号减1,直到为0阻塞
3.给信号量指定计数值
BOOL ReleaseSemaphore(
HANDLE hSemaphore,//信号量句柄
LONG lReleaseCount,//释放数量
LPLONG lpPreviousCount//释放前原来信号量的数量,可以设置为NULL (在设置信号量次数之前,目前还剩余的计数值);
4.关闭句柄
ColseHandle

#include 

你可能感兴趣的:(win32,API,windows)