導航:首頁 > 編程語言 > 線程javalock

線程javalock

發布時間:2024-11-28 14:31:42

java如何實現線程安全,synchronized和lock的區別,可重入鎖

一、synchronized和lock的用法區別


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


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


二、synchronized和lock用途區別


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


  1. 某個線程在等待一個鎖的控制權的這段時間需要中斷

  2. 2.需要分開處理一些wait-notify,ReentrantLock裡面的Condition應用,能夠控制notify哪個線程

  3. 3.具有公平鎖功能,每個到來的線程都將排隊等候

閱讀全文

與線程javalock相關的資料

熱點內容
蓋世汽車招聘新聞編譯 瀏覽:410
python識別網頁視頻時間 瀏覽:15
如何用dos命令打開文件 瀏覽:208
美國加密貨幣交易委員會 瀏覽:652
變頻壓縮機通用驅動板 瀏覽:621
紅色警戒與命令與征服 瀏覽:782
如何安裝伺服器共享列印機 瀏覽:319
重症監護室解壓 瀏覽:610
python把三列數據拼接起來 瀏覽:504
北京下命令 瀏覽:102
linux啟動postgresql 瀏覽:420
ug編程模板文件夾 瀏覽:68
python怎麼建xml 瀏覽:421
雲伺服器內組網 瀏覽:976
伺服器拔線是什麼意思 瀏覽:50
伺服器管理口帶外管理怎麼弄 瀏覽:212
一天學會php 瀏覽:252
半監督fcm的演算法源碼 瀏覽:129
薄荷健康app運動訓練在哪裡 瀏覽:723
手機哪裡能下載華潤app 瀏覽:421