由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
CS版 - 请教OS里面monitor 和conditional valuable的区别(linux,unix(转载)
相关主题
how to define variables on commnad line in C++一个reader-writer的算法问题
wolfram alpha搜索很强啊about online master
An artificial intelligence based internet answer engine请教这段Code到底是哪错了?
C里面goto的用处?Re: A Full List of AAAS Fellow in CompSc
《Web编程入门经典:HTML、XHTML和CSS》[PDF]HOW TO SOLVE THIS EQUATION?
有人了解semantic search, ontology based search吗[转载] 大家在Unix下用什么管理邮箱?
《Stylin' with CSS: A Designer's Guide (3rd Edition)》是CSS入门好书![转载] 想把Unix目录下所有小写文件名改大写
【招聘】【海归机会】【平安科技(北京/深圳)深度学习研究院】【深度学习研究员】招聘Help with some basic questions
相关话题的讨论汇总
话题: monitor话题: valuable话题: lock话题: os
进入CS版参与讨论
1 (共1页)
s********k
发帖数: 6180
1
【 以下文字转载自 JobHunting 讨论区 】
发信人: silverhawk (silverhawk), 信区: JobHunting
标 题: 请教OS里面monitor 和conditional valuable的区别(linux,unix)
发信站: BBS 未名空间站 (Wed Jan 19 12:03:39 2011, 美东)
感觉monitor就是用conditional valuable和lock来实现,而conditional valuable实
现的时候也要和mutex一起用,哪位指点一下我哪里错了?
w***g
发帖数: 5958
2
我其实一直也没搞明白monitor是干什么用的。哪个大牛给科普一下。

【在 s********k 的大作中提到】
: 【 以下文字转载自 JobHunting 讨论区 】
: 发信人: silverhawk (silverhawk), 信区: JobHunting
: 标 题: 请教OS里面monitor 和conditional valuable的区别(linux,unix)
: 发信站: BBS 未名空间站 (Wed Jan 19 12:03:39 2011, 美东)
: 感觉monitor就是用conditional valuable和lock来实现,而conditional valuable实
: 现的时候也要和mutex一起用,哪位指点一下我哪里错了?

s*********b
发帖数: 815
3
Monitor只是实现同步的结构化方法。你把数据和相关的同步逻辑封
装到一起,就是monitor了。比如你有一砣ConcurrentHashMap的
实例,就叫cmap吧。当你调用cmap.put(key, value)的时候,你知
道cmap会处理多线程的情况。换句话说,camp就是一枚monitor,
它"监控”了多线程下的数据处理。Conditional variable (不是valuable)
是用来让线程暂时释放一枚lock用的。所以conditional variable多半
同lock绑定在一起,比如Java里java.util.concurrent.locks.Lock就提
供一枚方法叫newCondition(),返回一枚conditional variable. 至于
mutex,就是一坨概念嘛,符合mutex那几条规定。不妨把它想作一枚数
学对象。总结起来就是:lock可以用来实现mutex,而lock+conditional
variable可以用来实现monitor。
s********k
发帖数: 6180
4
谢谢, conditional variable本来就是要和lock一起使用,那么这样看来其实和
monitor没啥太大区别,主要也是字面意思的区别?

【在 s*********b 的大作中提到】
: Monitor只是实现同步的结构化方法。你把数据和相关的同步逻辑封
: 装到一起,就是monitor了。比如你有一砣ConcurrentHashMap的
: 实例,就叫cmap吧。当你调用cmap.put(key, value)的时候,你知
: 道cmap会处理多线程的情况。换句话说,camp就是一枚monitor,
: 它"监控”了多线程下的数据处理。Conditional variable (不是valuable)
: 是用来让线程暂时释放一枚lock用的。所以conditional variable多半
: 同lock绑定在一起,比如Java里java.util.concurrent.locks.Lock就提
: 供一枚方法叫newCondition(),返回一枚conditional variable. 至于
: mutex,就是一坨概念嘛,符合mutex那几条规定。不妨把它想作一枚数
: 学对象。总结起来就是:lock可以用来实现mutex,而lock+conditional

s*********b
发帖数: 815
5
不客气。有区别啊。Conditional variable和lock是实现手段,而monitor是实现的
结果。你可以用其他的手段实现monitor,未必需要conditional variable和lock。

【在 s********k 的大作中提到】
: 谢谢, conditional variable本来就是要和lock一起使用,那么这样看来其实和
: monitor没啥太大区别,主要也是字面意思的区别?

s********k
发帖数: 6180
6
那还有什么手段实现monitor?我看都Conditional variable和lock

【在 s*********b 的大作中提到】
: 不客气。有区别啊。Conditional variable和lock是实现手段,而monitor是实现的
: 结果。你可以用其他的手段实现monitor,未必需要conditional variable和lock。

s*********b
发帖数: 815
7
有lock-free的实现,但不用condition variable的就不知道了。

【在 s********k 的大作中提到】
: 那还有什么手段实现monitor?我看都Conditional variable和lock
1 (共1页)
进入CS版参与讨论
相关主题
Help with some basic questions《Web编程入门经典:HTML、XHTML和CSS》[PDF]
windows下用MPICH并行计算的问题有人了解semantic search, ontology based search吗
[转载] Help!! variable scope ????《Stylin' with CSS: A Designer's Guide (3rd Edition)》是CSS入门好书!
[转载]我心目中的编程高手【招聘】【海归机会】【平安科技(北京/深圳)深度学习研究院】【深度学习研究员】招聘
how to define variables on commnad line in C++一个reader-writer的算法问题
wolfram alpha搜索很强啊about online master
An artificial intelligence based internet answer engine请教这段Code到底是哪错了?
C里面goto的用处?Re: A Full List of AAAS Fellow in CompSc
相关话题的讨论汇总
话题: monitor话题: valuable话题: lock话题: os