码迷,mamicode.com
首页 > 其他好文 > 详细

信号量Semaphore

时间:2020-04-18 15:51:26      阅读:68      评论:0      收藏:0      [点我收藏+]

标签:name   函数调用   create   long   handle   对象   code   属性   初始   

可以允许N个线程在同一时间访问同一资源

 

相关API函数:

 

创建信号量:

CreateSemaphore();

HANDLE CreateSemaphore(
    LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, // 安全属性,NULL为默认
    LONG lInitialCount, // 信号量初始值,要>=0且<=第三个参数
    LONG lMaximumCount, // 信号量最大值
    LPCT STRlpName// 信号量名称
);

函数调用成功返回句柄,如果创建的信号量和已有的信号量重名,那么返回已经存在的信号量句柄,失败返回NULL

 

对指定信号量增加指定的值

 

ReleaseSemaphore();

BOOL ReleaseSemaphore(
HANDLE hSemaphore,  //信号量句柄
LONG lReleaseCount, //信号量对象在当前基础上要增加的值
LPLONG lpPreviousCount //指向返回信号量上次值的变量的指针,如果不需要信号量上次的值,那么这个参数可以设置为NULL
);

 

信号量Semaphore

标签:name   函数调用   create   long   handle   对象   code   属性   初始   

原文地址:https://www.cnblogs.com/liu6666/p/12726040.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!