日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Synchronize和Lock 的区别与用法

發布時間:2025/3/19 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Synchronize和Lock 的区别与用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

synchronized和lock的用法區別

synchronized:在需要同步的對象中加入此控制,synchronized可以加在方法上,也可以加在特定代碼塊中,括號中表示需要鎖的對象。

lock:需要顯示指定起始位置和終止位置。一般使用ReentrantLock類做為鎖,多個線程中必須要使用一個ReentrantLock類做為對象才能保證鎖的生效。且在加鎖和解鎖處需要通過lock()和unlock()顯示指出。所以一般會在finally塊中寫unlock()以防死鎖。

synchronized和lock性能區別

synchronized是托管給JVM執行的,而lock是java寫的控制鎖的代碼。在Java1.5中,synchronize是性能低效的。因為這是一個重量級操作,需要調用操作接口,導致有可能加鎖消耗的系統時間比加鎖以外的操作還多。相比之下使用Java提供的Lock對象,性能更高一些。但是到了Java1.6,發生了變化。synchronize在語義上很清晰,可以進行很多優化,有適應自旋,鎖消除,鎖粗化,輕量級鎖,偏向鎖等等。導致在Java1.6上synchronize的性能并不比Lock差。官方也表示,他們也更支持synchronize,在未來的版本中還有優化余地。

說到這里,還是想提一下這2中機制的具體區別。據我所知,synchronized原始采用的是CPU悲觀鎖機制,即線程獲得的是獨占鎖。獨占鎖意味著其他線程只能依靠阻塞來等待線程釋放鎖。而在CPU轉換線程阻塞時會引起線程上下文切換,當有很多線程競爭鎖的時候,會引起CPU頻繁的上下文切換導致效率很低。

而Lock用的是樂觀鎖方式。所謂樂觀鎖就是,每次不加鎖而是假設沒有沖突而去完成某項操作,如果因為沖突失敗就重試,直到成功為止。樂觀鎖實現的機制就是CAS操作(Compare and Swap)。我們可以進一步研究ReentrantLock的源代碼,會發現其中比較重要的獲得鎖的一個方法是compareAndSetState。這里其實就是調用的CPU提供的特殊指令。

現代的CPU提供了指令,可以自動更新共享數據,而且能夠檢測到其他線程的干擾,而 compareAndSet() 就用這些代替了鎖定。這個算法稱作非阻塞算法,意思是一個線程的失敗或者掛起不應該影響其他線程的失敗或掛起的算法。

synchronized和lock用途區別

synchronized原語和ReentrantLock在一般情況下沒有什么區別,但是在非常復雜的同步應用中,請考慮使用ReentrantLock,特別是遇到下面2種需求的時候。

1.某個線程在等待一個鎖的控制權的這段時間需要中斷
2.需要分開處理一些wait-notify,ReentrantLock里面的Condition應用,能夠控制notify哪個線程
3.具有公平鎖功能,每個到來的線程都將排隊等候

總結

以上是生活随笔為你收集整理的Synchronize和Lock 的区别与用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 中文字幕网站 | 亚洲成年人在线观看 | 国产精品成人aaaa在线 | 电影一区二区三区 | 福利毛片 | 久精品在线观看 | 吸咬奶头狂揉60分钟视频 | 欧美黑人一区二区三区 | 人妖天堂狠狠ts人妖天堂狠狠 | 一级日韩片 | 国产福利99 | 中国三级视频 | 久久久久免费精品视频 | 色多多入口 | 男人女人拔萝卜视频 | 一道本av在线 | 亚洲视频在线视频 | 午夜伦伦电影理论片费看 | 国产精品一区二区黑人巨大 | 国产精品久久久久久久毛片 | 99色综合网| 你懂的在线观看视频 | 香蕉视频在线免费播放 | 国产乱码精品一区二三区蜜臂 | 快射视频网站 | 91丝袜呻吟高潮美腿白嫩 | 91亚洲精品久久久蜜桃 | 日韩欧美日韩 | 亚洲经典视频在线观看 | 日韩亚洲欧美在线 | 处女朱莉| 女性喷水视频 | 午夜av网站 | 色午夜av| 伊人久久在线 | 亚洲精品99久久久久中文字幕 | 亚洲福利社区 | 国产精品ww| 日韩国产欧美一区二区 | 日本三级中国三级99人妇网站 | 美女张开腿露出尿口 | 高清一区在线观看 | 粉嫩av一区二区夜夜嗨 | 自拍偷拍精品视频 | 91精品视频免费在线观看 | 亚洲大片免费看 | 中文字幕15页 | 制服.丝袜.亚洲.中文.综合懂色 | www.亚洲一区二区三区 | 亚洲精品在线不卡 | 经典三级在线视频 | 无码精品一区二区三区在线播放 | 亚洲AV无码精品一区二区三区 | 丰满人妻一区二区三区免费视频 | 日韩中文在线播放 | 亚洲成人77777| 国产美女无遮挡永久免费观看 | 色先锋av资源 | www.夜夜爱| 抽插丰满内射高潮视频 | 人人综合网 | 视频在线观看电影完整版高清免费 | 免费小视频在线观看 | 漂亮人妻被中出中文字幕 | 欧美熟妇激情一区二区三区 | 天天射,天天干 | 五月天婷婷在线播放 | 波多野结衣乳巨码无在线观看 | 乱淫av | 日韩精品视频一区二区在线观看 | 老女人性生活视频 | 99热在线观看精品 | 欧美韩国日本 | 精品二区在线 | 成年人在线观看视频 | 69av片| 激情五月激情综合 | 精品亚洲永久免费 | 欧美一二| 国产欧美日韩免费 | 国产一区免费在线 | 青青草欧美 | 天天综合网在线观看 | 91超碰在| 伊人av在线| 啪啪网页| 日日射夜夜操 | √8天堂资源地址中文在线 欧美精品在线一区二区 | 国产91大片 | 黄色大片中文字幕 | 森泽佳奈中文字幕 | 亚洲啊v在线 | 欧美黄色大片免费看 | 四虎影院在线看 | 美女视频免费在线观看 | 久久99精品久久久久久水蜜桃 | 成人午夜在线观看视频 | 伊人毛片 | 国产群p|