win32多线程 (六)信号量 Synchronization
2024-10-14 20:32:29
比如:多个人来取仓库物品,我们为了做到多线程的互斥,一种方法是,对每个货品加个mutex互斥锁。另种方法,对窗口(只一个)加个mutex锁,但这样的话效率都比较低。而另钟解决办法是用信号量。信号量其实是mutex的一种加强版本,如果信号量的信号值设为1则其实退化成mutex。
HANDLE CreateSemaphore(
LPSECURITY_ATTRIBUTES lpAttributes,
LONG lInitialCount,
LONG lMaximumCount,
LPCTSTR lpName
);
参数
lpAttributes 安全属性。如果是NULL 就表示要使用默认属
性。Windows 忽略这一参数。
lInitialCountsem aphore 的初值。必须大于或等于0,并且小于
或等于lMaxim umCount。
lMaximumCountSem aphore 的最大值。这也就是在同一时间内能够
锁住sem aphore 之线程的最多个数。
lpNameSem aphore 的名称(一个字符串)。任何线程(或
进程)都可以根据这一名称引用到这个
semaphore。这个值可以是NULL,意思是产生一
个没有名字的sem aphore
最新文章
- MyBatis源码分析(一)开篇
- DataTables 控件使用和心得 (1) - 入门
- python中的装饰器
- mysql更新一个表里的字段等于另一个表某字段的值
- 《Bluez 》Beta版强势回归!!!
- (三)uboot源码分析
- Bring up a website by wordpress
- [原创,分享]DbHelper 续
- Spring AOP (下)
- zoj 3547 The Boss on Mars
- 【BZOJ 1572】 1572: [Usaco2009 Open]工作安排Job(贪心+优先队列)
- python中json.loads,dumps,jsonify使用
- 【转】花开正当时,十四款120/128GB SSD横向评测
- PAT1079 :Total Sales of Supply Chain
- 如何解决python升级后yum报错
- javaScript设计模式之面向对象编程(object-oriented programming,OOP)(二)
- C# Thread IsAlive 理解
- git master 回滚代码
- 新建虚拟机并与XShell连接(配置网卡)
- 机器C盘临时区