美文网首页
理解 mutex,semaphore,monitor(Java

理解 mutex,semaphore,monitor(Java

作者: 铜雀春深锁不住 | 来源:发表于2017-07-04 21:09 被阅读0次

    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 中的描述

    生产消费

    相关文章

      网友评论

          本文标题:理解 mutex,semaphore,monitor(Java

          本文链接:https://www.haomeiwen.com/subject/lyoxhxtx.html