HANDLE semaphore;
semaphore=CreateSemaphore(NULL, 3, 3, NULL);
- HANDLE CreateSemaphore(
- LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, // 安全属性指针
- LONG lInitialCount, // 初始计数
- LONG lMaximumCount, // 最大计数
- LPCTSTR lpName // 对象名指针
- );
WaitForSingleObject(semaphore, INFINITE);
//第一个参数为信号量句柄
//第二个参数如果是“
INFINITE”代表,等待到计数小于最大计数,如果参数是int类型,代表等待指定秒数。
ReleaseSemaphore(semaphore,1,NULL);
//第一个参数为信号量句柄
//第二个参数释放计数个数
//第三参数引用类型,用于返回释放前计数个数