博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于Mutex的笔记
阅读量:4325 次
发布时间:2019-06-06

本文共 653 字,大约阅读时间需要 2 分钟。

Mutex 的发音是 /mjuteks/ ,其含义为互斥(体),这个词是Mutual Exclude的缩写。

Mutex在计算机中是互斥也就是排他持有的一种方式,和信号量-Semaphore有可以对比之处。有人做过如下类比:

  • Mutex是一把钥匙,一个人拿了就可进入一个房间,出来的时候把钥匙交给队列的第一个。一般的用法是用于串行化对critical section代码的访问,保证这段代码不会被并行的运行。
  • Semaphore是一件可以容纳N人的房间,如果人不满就可以进去,如果人满了,就要等待有人出来。对于N=1的情况,称为binary semaphore。一般的用法是,用于限制对于某一资源的同时访问。

 

对于Binary semaphore与Mutex,这两者之间就存在了很多相似之处:

在有的系统中Binary semaphore与Mutex是没有差异的。在有的系统上,主要的差异是mutex一定要由获得锁的进程来释放。而semaphore可以由其它进程释放(这时的semaphore实际就是个原子的变量,大家可以加或减),因此semaphore可以用于进程间同步。Semaphore的同步功能是所有系统都支持的,而Mutex能否由其他进程释放则未定,因此建议mutex只用于保护critical section。而semaphore则用于保护某变量,或者同步。

转载于:https://www.cnblogs.com/jinrize/archive/2009/12/03/1616546.html

你可能感兴趣的文章
MSSQL如何将查询结果拼接成字符串
查看>>
20169217 《Linux内核原理与分析》 第十周作业
查看>>
20169217 2016-2017-2 《网络攻防实践》第四周学习总结
查看>>
MemCache在Windows下环境的搭建及启动
查看>>
<nginx.conf> nginx设置用户权限
查看>>
python实现redis三种cas事务操作
查看>>
同步异步与阻塞非阻塞
查看>>
C++ 安全单例模式总结
查看>>
bzoj4754: [Jsoi2016]独特的树叶
查看>>
toj 4069 简易统计
查看>>
【Unity】Update()和FixedUpdate()
查看>>
UNITY中有Timer
查看>>
[JSOI2010] 连通数
查看>>
二分和三分
查看>>
支付宝新漏洞引发恐慌,那如何关闭小额免密支付呢
查看>>
Mac OS 快捷键
查看>>
java 下载文件
查看>>
The King’s Problem 强连通
查看>>
Lambda 表达式
查看>>
Ural1297 最长回文子串(后缀数组+RMQ)
查看>>