在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/Java  Linux/ Java的Lock鎖有同步監(jiān)視器么?

Java的Lock鎖有同步監(jiān)視器么?

今天學(xué)習(xí)java的時(shí)候看到這么一句話“如果使用Lock對(duì)象來(lái)保證同步,則系統(tǒng)中不存在隱式的同步監(jiān)視器,也就不能使用wait(),notify(),notifyAll()方法進(jìn)行線程通信了”
存在一些疑惑:

1. Lock實(shí)現(xiàn)線程同步有同步監(jiān)視器么?

2. 這句話的意思是不是說(shuō)只有同步監(jiān)視器(不論顯式或者隱式)才可以調(diào)用wait(),notify(),notifyAll()方法?

回答
編輯回答
悶油瓶
  1. Lock 內(nèi)沒(méi)有同步監(jiān)視器 Lock 的實(shí)現(xiàn)是基于 AQS(AbstractQueuedSynchronizer)實(shí)現(xiàn)的,其實(shí)就是一個(gè)簡(jiǎn)單的類,只是利用了優(yōu)秀的設(shè)計(jì)來(lái)實(shí)現(xiàn)了鎖。
  2. wait, notify, notifyAll 調(diào)用的前提都得獲得對(duì)象監(jiān)視器,通常用 synchronize 來(lái)獲取監(jiān)視器。

可以參考:

https://crossoverjie.top/2018...

https://crossoverjie.top/2018...

2018年4月5日 00:44
編輯回答
蟲(chóng)児飛

1.Lock實(shí)現(xiàn)線程同步使用CAS和隊(duì)列
2.This method should only be called by a thread that is the owner of this object's monitor。
調(diào)用這三個(gè)方法,當(dāng)前線程必須擁有此對(duì)象監(jiān)視器。

2017年4月6日 04:02