zoukankan      html  css  js  c++  java
  • win32多线程 (六)信号量 Synchronization

    比如:多个人来取仓库物品,我们为了做到多线程的互斥,一种方法是,对每个货品加个mutex互斥锁。另种方法,对窗口(只一个)加个mutex锁,但这样的话效率都比较低。而另钟解决办法是用信号量。信号量其实是mutex的一种加强版本,如果信号量的信号值设为1则其实退化成mutex。

    HANDLE CreateSemaphore( 
    LPSECURITY_ATTRIBUTES lpAttributes,
    LONG lInitialCount,
    LONG lMaximumCount,
    LPCTSTR lpName
    ); 
    参数
    lpAttributes  安全属性。如果是NULL 就表示要使用默认属
    性。Windows 95 忽略这一参数。
    lInitialCountsem aphore 的初值。必须大于或等于0,并且小于
    或等于lMaxim umCount。
    lMaximumCountSem aphore 的最大值。这也就是在同一时间内能够
    锁住sem aphore 之线程的最多个数。
    lpNameSem aphore 的名称(一个字符串)。任何线程(或
    进程)都可以根据这一名称引用到这个
    semaphore。这个值可以是NULL,意思是产生一
    个没有名字的sem aphore
  • 相关阅读:
    199. 二叉树的右视图
    二叉树前、中、后、层次、遍历的非递归法
    奇思妙想
    917. 仅仅反转字母【双指针】
    JVM性能监控与故障处理工具
    Java线程池使用和常用参数(待续)
    MySQL常用知识
    手写常用算法
    LightOj 1170
    逆元总结
  • 原文地址:https://www.cnblogs.com/zhidao-chen/p/3858918.html
Copyright © 2011-2022 走看看