午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術文章
文章詳情頁

java - lock與synchronize的解鎖順序問題?

瀏覽:201日期:2024-01-29 17:26:50

問題描述

在學習lock與synchronize的區別時,看到這樣一句話:“ lock更靈活,可以自由定義多把鎖的枷鎖解鎖順序(synchronized要按照先加的后解順序)”。請問這里:

1.lock的自由定義多把鎖的枷鎖解鎖順序怎么理解?2.synchronized要按照先加的后解順序怎么理解?

謝謝各位!

問題解答

回答1:

Lock是一個接口,最常用的實現是 ReentrantLock,它的一個靈活之處是可以設定fair參數。

synchronized 和fair=false的ReentrantLock 無法決定加鎖順序。換句話說,線程A、B、C都要鎖定對象,嘗試鎖定的時間是A最早、然后是B,最后是C,那么當A解鎖對象時,不能確定到底B還是C接下來鎖定對象。

如果用fair=true的ReentrantLock(公平鎖),情況就確定了:A解鎖對象時,由于B比C先嘗試鎖定對象,所以接下來一定是B來鎖定,只有當B解鎖時才輪到C。

回答2:

new lock1new lock2lock1.lock();lock2.lock();...lock2.unlock();lock1.unlock();

Lock的加解鎖是在java語義層面上實現的,鎖之間沒有必然關系

synchronized(obj1){ synchronized(obj2){... }}

synchronized加解鎖是由JVM來實現,在執行完synchronized塊后自行解鎖,所有會按照synchronized的嵌套順序解鎖。

標簽: java
相關文章:
主站蜘蛛池模板: 日本一区二区视频在线 | 亚洲男人天堂视频 | 亚洲黄色影院 | 强制高潮抽搐sm调教高h | 欧美黄色短视频 | 国产午夜精品久久久久久久 | 亚洲精品欧美在线 | 国产精品乱码一区二区视频 | 天天狠天天操 | www.xxxx国产 | 午夜影院h | 亚洲视频大全 | 国产精品一二三区 | 欧美亚洲免费 | 高潮一区二区 | 99免费精品视频 | 激情综合五月网 | 国语对白一区 | 国产三级一区二区 | 国产午夜精品理论片 | 丁香婷婷激情 | 91在线一区二区三区 | 久久一区 | 中国第一毛片 | 欧美成人黑人xx视频免费观看 | 三级三级久久三级久久18 | 最新免费av| 免费久久久 | 正在播放木下凛凛88av | a级成人毛片 | 精品一区二区在线播放 | 97在线免费观看视频 | 国产视频精品免费 | 国产精品久久久久久久午夜 | 欧美午夜精品久久久久久浪潮 | 草久久久久 | 中文一级片 | 欧美日韩在线免费视频 | 另类ts人妖一区二区三区 | av网站免费观看 | 色久婷婷 |