java 锁和监视器理解

锁:类似平常门的锁,你获取这个锁,说明你有钥匙,可以进去这个屋子了,是你有权限进入了

监视器:类似门里的房间,进去不代表你可以见真正的主人,你先得在候客厅等着,拍着队一大堆,有人说,候客厅来一个,你们中就出来一个,拿了一个工牌,跟者进入的会客厅,和主人谈完话了,你把工牌留下,就走了。这是等候客厅继续喊,继续拿牌来会见。

锁和监视器主要是多线程而生的。两个线程修改共享信息,信息就会不准确。

线程先要获取锁,才能进入房间,当他想正要获取的时候,知道其他线程已经获取了,该线程进入等待区,这和锁和监视器是两个概念矛盾啊。

 

是不是可以这样理解

 

多线程程竞争锁,有一个拿到锁了,然后可以获取监视器,然后持有监视器,然后释放监视器,退出监视器

而其他没有获取锁的竞争线程,他们都在竞争这个锁,说明是一路货色,都想干这单生意,但有先有后。他们只能在等那个先拿到锁的线程,这些线程就进入了候客厅(entry-set),等到有机会了,在干活。

入建筑中的那个特别的房间叫做"获得监视器",占据房间叫做"持有监视器",离开房间叫做"释放监视器",离开建筑叫做"退出监视器".   
  而一个锁就像一种任何时候只允许一个线程拥有的特权.   

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值