比如:多个人来取仓库物品,我们为了做到多线程的互斥,一种方法是,对每个货品加个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

相关文章:

  • 2021-08-28
  • 2021-12-10
  • 2022-12-23
  • 2022-12-23
  • 2021-10-11
  • 2021-10-11
  • 2021-07-03
猜你喜欢
  • 2021-08-06
  • 2021-07-30
  • 2021-08-19
  • 2022-02-27
  • 2021-08-21
  • 2022-12-23
  • 2021-04-24
相关资源
相似解决方案