信标对像(Semaphore)是windows内核对象的一种,用于对资源进行计数。与所有内核对象一样,包含一个使用数量,但是它们也包含另外两个带符号的3 2位值,一个是最大资源数量,一个是当前资源数量。最大资源数量用于标识信标能够控制的资源的最大数量,而当前资源数量则用于标识当前可以使用的资源的数量。
相关API
HANDLE CreateSemaphore(
LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, // 安全属性指针
LONG lInitialCount, //当前可用资源初始值,这个值必须大于等于0,小于等于lMaximumCount
LONG lMaximumCount, //最大可用的资源数,这个值必须大于0
LPCTSTR lpName //对象名指针
);
HANDLE OpenSemaphore(
DWORD fdwAccess,
BOOL bInheritHandle,
PCTSTR pszName
);
BOOL ReleaseSemaphore(
HANDLE hsem,
LONG lReleaseCount,
PLONG plPreviousCount
);