CreateSemaphore、OpenSemaphore、ReleaseSemaphore

来源:互联网 发布:java内存溢出解决方法 编辑:程序博客网 时间:2024/06/04 23:24
CreateSemaphore函数的功能是创建信号量对象,函数原型如下:

HANDLE WINAPI CreateSemaphore(

LPSECURITY_ATTRIBUTES lpSemaphoreAttributes,

LONG    lInitialCount,

LONG     lMaximumCount,

LPCTSTR lpName);

lpSemaphoreAttributes参数是安全属性,lInitialCount参数是初始的计数值,lMaximumCount参数是最大的计数值,还可以通过lpName参数来给信号量对象命名。

 

OpenSemaphore函数的功能是通过信号量名,获得信号量对象句柄,函数原型如下:

HANDLE WINAPI OpenSemaphore(

DWORD dwDesireAccess,

BOOL     bInheritHandle,

LPCTSTR lpName);

 

ReleaseSemaphore函数的功能是释放信号量,函数原型如下:

BOOL WINAPI ReleaseSemaphore(

HANDLE hSemaphore,

LONG lReleaseCount,

LPLONG lpPreviousCount);

可以释放多个计数,通过lReleaseCount参数指定。

原创粉丝点击