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 找出来了。

  • 相关阅读:
    2017ccpc全国邀请赛(湖南湘潭) E. Partial Sum
    Codeforces Round #412 C. Success Rate (rated, Div. 2, base on VK Cup 2017 Round 3)
    2017 中国大学生程序设计竞赛 女生专场 Building Shops (hdu6024)
    51nod 1084 矩阵取数问题 V2
    Power收集
    红色的幻想乡
    Koishi Loves Segments
    Wood Processing
    整数对
    Room and Moor
  • 原文地址:https://www.cnblogs.com/answer/p/1445003.html
Copyright © 2011-2022 走看看