理解 mutex,semaphore,monitor(Java 并发)

what is mutex? in chinese means 互斥锁

what is semaphore? in chinese means 信号量

what is monitor? in chinese means 管程

             图片链接:

                   http://slideplayer.com/slide/4857494/

同步范例
overview

上图给出了三种java中的同步方式:

         其中mutex是一个二元semaphores

但是mutex 和 semaphores的区别是

   just like this:


mutex

mutex 只用于保护临界区的代码,即一个线程释放mutex锁后,可能又获得同一个锁,会产生饥饿


semaphore

semaphore可以保证锁同步,释放后不会再获取,让别的线程获取锁

管程
monitor基于条件变量
monitor


sync and monitor

bounder buffer

无界缓冲

以无界缓冲为例,生产者 从In 的位置往右写,消费者从Out的位置向右取,当缓冲空时不能取

生产者往缓冲区放一个物品,如果满了就等待;消费者从同一缓冲区取一个物品,如果空了就等待。这个过程就需要同步


生产消费问题
生产者消费者

 读写操作需要同步


Sync for Read/Write

生产消费问题在bounded buffer 中的描述


生产消费
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本篇文章是基于谷歌有关Graphic的一篇概览文章的翻译:http://source.android.com/de...
    lee_3do阅读 7,247评论 2 21
  • 教程一:视频截图(Tutorial 01: Making Screencaps) 首先我们需要了解视频文件的一些基...
    90后的思维阅读 4,859评论 0 3
  • 我们的记忆中 一直有伤痛 照单全收的那些日子 是什么伤害了我和你 我们虽然疲惫但一起走着 跟任何一种喜悦都换不来 ...
    只是要张图片阅读 1,854评论 0 1
  • 《西游记》中,当孙悟空得知自己只是给玉帝养马的,只是个小小的芝麻官时,他出离愤怒辞职不干了,自己回到花果山,私自写...
    天空有云阅读 581评论 3 3
  • 很多键盘侠在网上多一个事件的态度大多是由双方的动机做判断的。例如国家推行免费高中,他们就欢迎。 好心办错事的例子很...
    69b0b8230937阅读 242评论 0 0