zoukankan      html  css  js  c++  java
  • CreateSemaphore

    This function creates a named or unnamed semaphore object.

    HANDLE CreateSemaphore(
    LPSECURITY_ATTRIBUTES lpSemaphoreAttributes,
    LONG lInitialCount,
    LONG lMaximumCount,
    LPCTSTR lpName
    );

    说明
    创建一个新的信号机

    返回值
    Long,如执行成功,返回信号机对象的句柄;零表示出错。
    会设置GetLastError。即使返回一个有效的句柄,但倘若它指出同名的一个信号机已经存在,
    那么GetLastError也会返回ERROR_ALREADY_EXISTS

    参数表
    参数 类型及说明
    lpSemaphoreAttributes
    SECURITY_ATTRIBUTES,指定一个SECURITY_ATTRIBUTES结构,
    或传递零值(将参数声明为ByVal As Long,并传递零值)—— 表示采用不允许继承的默认描述符。
    该参数定义了信号机的安全特性

    lInitialCount Long,设置信号机的初始计数。
    可设置零到lMaximumCount之间的一个值 lMaximumCount Long,设置信号机的最大计数

    lpName String,指定信号机对象的名称。
    用vbNullString可创建一个未命名的信号机对象。
    如果已经存在拥有这个名字的一个信号机,就直接打开现成的信号机。
    这个名字可能不与一个现有的互斥体、事件、可等待计时器或文件映射的名称相符

    注解
    一旦不再需要,一定记住用CloseHandle关闭信号机的句柄。
    它的所有句柄都关闭以后,对象自己也会删除
    一旦值大于零,信号机就会触发(发出信号)。
    ReleaseSemaphore函数的作用是增加信号机的计数。
    如果成功,就调用信号机上的一个等待函数来减少它的计数

    一旦不再需要,一定记住用 CloseHandle 关闭信号机的句柄。 >> 嗯,真郁闷,MSDN真该看看了,该死的。

    不过,很开心,Ardy 找出来了。

  • 相关阅读:
    论语心得
    水果总结
    欢乐颂
    大牌驾到
    Excel补全日期(日期按顺序补全)
    c语言define和typedef区别和使用
    c语言寄存器变量
    c语言伪常量const理解
    c语言静态断言-定义自己的静态断言
    c语言静态断言
  • 原文地址:https://www.cnblogs.com/answer/p/1445003.html
Copyright © 2011-2022 走看看