日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

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

Java 多線程Synchronized和Lock的區別

瀏覽:100日期:2022-08-18 18:10:52
引言

在多線程中,為了使線程安全,我們經常會使用synchronized和Lock進行代碼同步和加鎖,但是具體兩者有什么區別,什么場景下適合用什么可能還不大清楚,主要的區別大致如下:

區別

1、synchronized是java關鍵字,而Lock是java中的一個接口

2、synchronized會自動釋放鎖,而Lock必須手動釋放鎖

3、synchronized是不可中斷的,Lock可以中斷也可以不中斷

4、通過Lock可以知道線程有沒有拿到鎖,而synchronized不能

5、synchronized能鎖住方法和代碼塊,而Lock只能鎖住代碼塊

6、Lock可以使用讀鎖提高多線程讀效率

7、synchronized是非公平鎖,ReentranLock可以控制是否公平鎖

從Lock接口中我們可以看到主要有5個方法,這些方法的功能從注釋中可以看出:

lock():獲取鎖,如果鎖被暫用則一直等待unlock():釋放鎖tryLock(): 注意返回類型是boolean,如果獲取鎖的時候鎖被占用就返回false,否則返回truetryLock(long time, TimeUnit unit):比起tryLock()就是給了一個時間期限,保證等待參數時間lockInterruptibly():用該鎖的獲得方式,如果線程在獲取鎖的階段進入了等待,那么可以中斷此線程,先去做別的事 通過 以上的解釋,大致可以解釋在上個部分中“鎖類型(lockInterruptibly())”,“鎖狀態(tryLock())”等問題,還有就是前面子所獲取的過程我所寫的“大致就是可以嘗試獲得鎖,線程可以不會一直等待”用了“可以”的原因。lock():

public class LockTest { private Lock lock = new ReentrantLock(); private void method(Thread thread) { lock.lock(); try { System.out.println(thread.getName() + ' has gotten the lock!'); } catch (Exception e) { e.printStackTrace(); } finally { System.out.println(thread.getName() + ' has unlocked the lock!'); lock.unlock(); } } public static void main(String[] args) { final LockTest test = new LockTest(); Thread t1 = new Thread(new Runnable() { @Override public void run() {test.method(Thread.currentThread()); } }, 't1'); Thread t2 = new Thread(new Runnable() { @Override public void run() {test.method(Thread.currentThread()); } }, 't2'); t1.start(); t2.start(); }}

運行結果:

t1 has gotten the lock!t1 has unlocked the lock!t2 has gotten the lock!t2 has unlocked the lock!tryLock():

public class LockTest { private Lock lock = new ReentrantLock(); private void method(Thread thread) { if (lock.tryLock()) { lock.lock(); try {System.out.println(thread.getName() + ' has gotten the lock!'); } catch (Exception e) {e.printStackTrace(); } finally {System.out.println(thread.getName() + ' has unlocked the lock!');lock.unlock(); } } else { System.out.println('I’m '+thread.getName()+'. Someone has gotten the lock!'); } } public static void main(String[] args) { LockTest test = new LockTest(); Thread t1 = new Thread(() -> test.method(Thread.currentThread()), 't1'); Thread t2 = new Thread(new Runnable() { @Override public void run() {test.method(Thread.currentThread()); } }, 't2'); t1.start(); t2.start(); }}

運行結果:

t1 has gotten the lock!t1 has unlocked the lock!I’m t2. Someone has gotten the lock!

看到這里相信大家也都會使用如何使用Lock了吧,關于tryLock(long time, TimeUnit unit)和lockInterruptibly()不再贅述。前者主要存在一個等待時間,在測試代碼中寫入一個等待時間,后者主要是等待中斷,會拋出一個中斷異常,常用度不高,喜歡探究可以自己深入研究。

以上就是Java 多線程Synchronized和Lock的區別的詳細內容,更多關于Java 多線程Synchronized和Lock的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩精品一卡二卡三卡四卡无卡| 日韩一级精品| 久久免费黄色| 国产自产自拍视频在线观看 | 国产精品草草| 色狠狠一区二区三区| 日本vs亚洲vs韩国一区三区二区| 日韩不卡在线观看日韩不卡视频| 国产精久久一区二区| 国产亚洲一区二区三区啪| 成人欧美一区二区三区的电影| 日韩国产一区二区| 亚洲成av在线| 青青草国产成人99久久| 欧美久久一区二区三区| 国产一区日韩| 蜜臀久久99精品久久久久久9 | 日韩国产欧美在线播放| 国产精品一区三区在线观看| 亚洲一级二级| 欧美国产精品| 欧美一区=区| 国产专区精品| 欧美福利专区| 精品伊人久久| 亚洲香蕉视频| 性欧美xxxx免费岛国不卡电影| 欧美日中文字幕| 中文一区一区三区免费在线观| 国产日韩三级| 欧美~级网站不卡| 欧美日韩99| 欧美sm一区| 日韩中文字幕无砖| 最近高清中文在线字幕在线观看1| 自拍日韩欧美| av免费不卡国产观看| 亚洲成人三区| 国产精品密蕾丝视频下载| 国产一区清纯| 精品中文字幕一区二区三区 | 国产调教一区二区三区| 色综合www| 综合国产视频| 三上悠亚国产精品一区二区三区| 视频一区中文字幕精品| 亚洲福利国产| 福利视频一区| 日韩av黄色在线| 不卡视频在线| 91视频久久| 国产美女撒尿一区二区| 久久亚洲风情| 欧美日韩一二| 国产美女高潮在线| 国产精品一区二区三区美女| 午夜在线一区二区| 久久精品91| 国产精品777777在线播放| 美女精品在线观看| 黑丝美女一区二区| 精品国产免费人成网站| 国产毛片精品| 午夜电影一区| 首页国产欧美日韩丝袜| 激情五月综合网| 日韩高清成人| 国产精品麻豆久久| 精品国产美女a久久9999| 91成人精品观看| 在线精品国产亚洲| 99在线|亚洲一区二区| 日韩在线欧美| 久久免费精品| 国产精品亚洲四区在线观看| 婷婷视频一区二区三区| 免费看日韩精品| 老鸭窝毛片一区二区三区| 婷婷综合社区| 激情欧美国产欧美| 亚洲二区在线| 欧美 日韩 国产一区二区在线视频 | 天堂中文av在线资源库 | 欧美啪啪一区| 日韩av一区二区三区四区| 亚洲欧美在线综合| 蜜桃av一区二区三区电影| 亚洲一区二区成人| 国产亚洲亚洲| 天堂成人免费av电影一区| 亚洲精品91| 好看的亚洲午夜视频在线| 香蕉久久99| 在线精品小视频| 日韩精品一级中文字幕精品视频免费观看 | 91欧美极品| 日韩不卡在线观看日韩不卡视频| 蜜臀av一区二区在线免费观看 | 精品不卡一区| 激情综合五月| 福利视频一区| 深夜福利视频一区二区| 成人va天堂| 91成人超碰| 亚洲综合精品四区| 亚洲一级淫片| 国产日韩中文在线中文字幕| 欧美在线91| 精品中文字幕一区二区三区四区| 久久久久久色 | 日本伊人久久| 日韩精品国产欧美| 日本不卡不码高清免费观看| 欧美日韩18| 久久只有精品| 日韩欧美一区二区三区在线观看 | 国产欧美视频在线| 国产一区三区在线播放| 日韩精品一区二区三区免费观影| 亚洲性图久久| 日韩国产欧美一区二区三区| 麻豆精品在线| 久久久久久久久久久9不雅视频| 欧美精品九九| 国产日韩欧美中文在线| 日韩欧美国产精品综合嫩v| 夜夜嗨一区二区| 91精品在线免费视频| 伊人网在线播放| 丝袜诱惑制服诱惑色一区在线观看 | 热久久免费视频| 日韩av一区二区三区四区| 精品一区二区三区中文字幕| 亚洲第一精品影视| 日韩成人午夜精品| 日韩视频网站在线观看| 蜜桃伊人久久| 精品视频一区二区三区四区五区 | 日本不卡一二三区黄网| 鲁大师精品99久久久| 久久精品青草| 欧美亚洲综合视频| 免费成人网www| 国产精品亚洲产品| 2023国产精品久久久精品双| 国产欧美一区二区三区国产幕精品| 涩涩av在线| 青草国产精品久久久久久| 四虎884aa成人精品最新| 日韩高清不卡一区二区| 久久久国产精品一区二区中文| 亚洲久久在线| 成人片免费看| 国产日韩免费| 国内精品福利| 免费在线成人| 麻豆精品网站| 日韩中文欧美| 国产精品一区二区中文字幕| 亚洲香蕉网站| 丁香婷婷久久| 人人精品久久| 国产一区91| 性欧美videohd高精| 国产精品亚洲一区二区在线观看| 国产亚洲综合精品| 亚洲精品.com| 久久精品亚洲| 日韩欧美中文字幕一区二区三区| 91亚洲人成网污www| 91亚洲无吗| 日本大胆欧美人术艺术动态| 91精品国产91久久久久久黑人| 国产精品密蕾丝视频下载| 四虎在线精品| 免费在线观看精品| 午夜视频精品| 99成人超碰| 午夜久久中文| 国产成人精品三级高清久久91| 国产欧美日韩一区二区三区在线| 日韩在线卡一卡二| 国产手机视频一区二区| 蜜桃成人av| 九九精品调教| 91看片一区| 国产白浆在线免费观看| 久久精品一区二区国产| 91p九色成人| 日韩精品久久久久久久软件91| 午夜亚洲精品| 国产视频一区三区| 国精品一区二区三区| 亚洲成人va| 欧美xxxx中国| 四虎成人av| 欧美日韩视频免费观看| 国产盗摄——sm在线视频| 精品黄色一级片| 国产精品视频首页|