亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

java實現死鎖的示例代碼

2024-07-13 10:17:14
字體:
來源:轉載
供稿:網友

什么是死鎖

我們先看看這樣一個生活中的例子:在一條河上有一座橋,橋面較窄,只能容納一輛汽車通過,無法讓兩輛汽車并行。如果有兩輛汽車A和B分別由橋的兩端駛上該橋,則對于A車來說,它走過橋面左面的一段路(即占有了橋的一部分資源),要想過橋還須等待B車讓出右邊的橋面,此時A車不能前進;對于B車來說,它走過橋面右邊的一段路(即占有了橋的一部分資源),要想過橋還須等待A車讓出左邊的橋面,此時B車也不能前進。兩邊的車都不倒車,結果造成互相等待對方讓出橋面,但是誰也不讓路,就會無休止地等下去。這種現象就是死鎖。如果把汽車比做進程,橋面作為資源,那麼上述問題就描述為:進程A占有資源R1,等待進程B占有的資源Rr;進程B占有資源Rr,等待進程A占有的資源R1。而且資源R1和Rr只允許一個進程占用,即:不允許兩個進程同時占用。結果,兩個進程都不能繼續執行,若不采取其它措施,這種循環等待狀況會無限期持續下去,就發生了進程死鎖。

在計算機系統中,涉及軟件,硬件資源都可能發生死鎖。例如:系統中只有一臺CD-ROM驅動器和一臺打印機,某一個進程占有了CD-ROM驅動器,又申請打印機;另一進程占有了打印機,還申請CD-ROM。結果,兩個進程都被阻塞,永遠也不能自行解除。

所謂死鎖,是指多個進程循環等待它方占有的資源而無限期地僵持下去的局面。很顯然,如果沒有外力的作用,那麼死鎖涉及到的各個進程都將永遠處于封鎖狀態。從上面的例子可以看出,計算機系統產生死鎖的根本原因就是資源有限且操作不當。即:一種原因是系統提供的資源太少了,遠不能滿足并發進程對資源的需求。這種競爭資源引起的死鎖是我們要討論的核心。例如:消息是一種臨時性資源。某一時刻,進程A等待進程B發來的消息,進程B等待進程C發來的消息,而進程C又等待進程A發來的消息。消息未到,A,B,C三個進程均無法向前推進,也會發生進程通信上的死鎖。另一種原因是由于進程推進順序不合適引發的死鎖。資源少也未必一定產生死鎖。就如同兩個人過獨木橋,如果兩個人都要先過,在獨木橋上僵持不肯后退,必然會應競爭資源產生死鎖;但是,如果兩個人上橋前先看一看有無對方的人在橋上,當無對方的人在橋上時自己才上橋,那麼問題就解決了。所以,如果程序設計得不合理,造成進程推進的順序不當,也會出現死鎖。

死鎖

只有當t1線程占用o1且正好也需要o2,t2此時占用o2且正好也需要o1的時候才會出現死鎖,(類似于2個人拿著兩個筷子吃飯,都是需要對方的一根筷子才能吃)

以下代碼t1線程占用o1,并且獲取到o2對象后才會釋放o1,而t2線程先占用o2又去獲取o1,而此時的o1被t1線程占用,o2被t2線程占用,t1和t2都在無限等待,就會出現死鎖。

package javasimple;/** * 死鎖demo * @author haokui * */public class DieSynchronized { public static void main(String[] args) {  /**   * 創建并啟動兩個線程t1、t2。兩個線程都要共享o1、o2兩個對象   */  Object o1 = new Object();  Object o2 = new Object();  Thread t1 = new Thread(new T1(o1,o2));  Thread t2 = new Thread(new T2(o1,o2));  t1.start();  t2.start(); }}//創建兩個線程類class T1 implements Runnable { Object o1; Object o2; public T1(Object o1, Object o2){  this.o1 = o1;  this.o2 = o2; } public void run() {  //鎖o1和o2  synchronized (o1) {   try {    Thread.sleep(1000);   } catch (InterruptedException e) {    // TODO Auto-generated catch block    e.printStackTrace();   }   synchronized (o2) {    System.out.println("o2");   }  } }}class T2 implements Runnable { Object o1; Object o2; public T2(Object o1, Object o2){  this.o1 = o1;  this.o2 = o2; } public void run() {  synchronized (o2) {   try {    Thread.sleep(1000);   } catch (InterruptedException e) {    // TODO Auto-generated catch block    e.printStackTrace();   }   synchronized (o1) {    System.out.println("o1");   }  }   }}

注意:只有o1和o2被共享的時候才會出現并發的情況,可通過構造函數的方式共享兩個對象。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品久久久久久久7电影| 亚洲国产精品女人久久久| 国产精品欧美激情在线播放| 欧美又大又粗又长| 国产精品久久久久久五月尺| 日韩电影第一页| 日韩精品福利网站| 久久精品国产成人| 91精品视频免费| 欧美大片在线免费观看| 精品电影在线观看| 国产视频亚洲视频| 色噜噜狠狠狠综合曰曰曰| 午夜精品久久久久久99热| 日韩欧美a级成人黄色| 亚洲色图校园春色| 日韩成人黄色av| 亚洲精品电影在线| 精品动漫一区二区| 亚洲精选中文字幕| 日韩成人在线观看| 一区二区三区国产视频| 国产丝袜精品第一页| 日韩电影中文字幕在线观看| 日韩av综合网| 欧美在线观看日本一区| 国产美女久久精品香蕉69| 成人a级免费视频| 狠狠久久亚洲欧美专区| 久久久伊人欧美| 国产精品亚洲аv天堂网| 成人免费在线视频网站| 国产精品亚洲自拍| 久久久久久久久久久久久久久久久久av| 亚洲欧美国产精品va在线观看| 91色精品视频在线| 日韩在线中文字幕| 国产亚洲免费的视频看| 在线免费看av不卡| 国产不卡在线观看| 日韩精品视频在线播放| 国产精品h片在线播放| 久久福利视频导航| 国产精品9999| 日韩高清免费在线| 亚洲福利在线观看| 精品夜色国产国偷在线| 亚洲加勒比久久88色综合| 欧美激情一级欧美精品| 国产一区二区三区毛片| 91精品视频在线播放| 欧美日韩国产一区二区| 国产精品1区2区在线观看| 91精品免费视频| 久久影视电视剧凤归四时歌| 亚洲国产天堂久久综合网| 日韩av在线免费播放| 欧美极品少妇xxxxⅹ免费视频| 久久久国产精品免费| 亚洲人成毛片在线播放| 午夜精品蜜臀一区二区三区免费| 欧美性猛交xxxx富婆| 国产精品av网站| 欧美天天综合色影久久精品| 国内精品一区二区三区四区| 精品视频久久久久久久| 日韩欧美中文免费| 亚洲国产精品久久久| 欧美激情第1页| 国产精品男女猛烈高潮激情| 亚洲午夜精品久久久久久性色| 91精品啪在线观看麻豆免费| 日韩免费视频在线观看| 国产欧美日韩亚洲精品| 欧美日韩视频免费播放| 亚洲自拍偷拍视频| 91精品国产一区| 在线播放日韩精品| 日韩成人av网| 色偷偷av一区二区三区乱| 日韩在线观看高清| 日韩动漫免费观看电视剧高清| 欧美日韩在线看| 亚洲激情在线视频| 国产精品1区2区在线观看| 日韩av一区在线| 国产精品国产自产拍高清av水多| y97精品国产97久久久久久| 91av成人在线| 岛国av一区二区在线在线观看| 亚洲国产精彩中文乱码av在线播放| 久久久伊人日本| 午夜精品三级视频福利| 国产成人福利夜色影视| 欧美成人午夜免费视在线看片| 欧美与黑人午夜性猛交久久久| 精品久久久国产精品999| 另类视频在线观看| 国产日韩欧美视频| 久久成人亚洲精品| 亚洲欧美国产视频| 国产亚洲aⅴaaaaaa毛片| 日韩a**站在线观看| 日韩成人av在线| 亚洲精品二三区| 欧美成年人视频网站欧美| 国产精品99久久久久久久久| 亚洲第一视频网站| 亚洲成人激情在线观看| 日韩在线欧美在线国产在线| 成人国内精品久久久久一区| 欧美老肥婆性猛交视频| 亚洲欧美激情四射在线日| 国产精品午夜国产小视频| 综合136福利视频在线| 日韩av最新在线| 一本色道久久综合亚洲精品小说| 91精品国产免费久久久久久| 色婷婷综合久久久久中文字幕1| 国产精品久久久久av免费| 91在线观看免费高清完整版在线观看| 久久久久国产精品www| 亚洲激情视频在线| 亚洲aa在线观看| 亚洲国产女人aaa毛片在线| 亚洲第一天堂无码专区| 亚洲的天堂在线中文字幕| 欧美日本精品在线| 欧美日韩亚洲一区二区| 91夜夜未满十八勿入爽爽影院| 亚洲欧洲在线观看| 国产精品激情自拍| 亚洲人成毛片在线播放| 国产精品久久久久久久久久尿| 国产精品欧美日韩一区二区| 国产精品成人国产乱一区| 日韩欧美国产成人| 中文字幕亚洲色图| 日本一区二区三区在线播放| 欧美另类精品xxxx孕妇| 欧美成人免费观看| 91精品国产高清久久久久久91| 成人性生交大片免费观看嘿嘿视频| 狠狠躁天天躁日日躁欧美| 在线观看国产成人av片| 欧美性极品少妇精品网站| 欧美在线观看视频| 日韩美女写真福利在线观看| 久久精品一区中文字幕| 亚洲影院色在线观看免费| 国产精品海角社区在线观看| 国产欧美中文字幕| 欧美成人免费全部观看天天性色| 亚洲成人久久久| 55夜色66夜色国产精品视频| 国产精品第七十二页| 狠狠躁天天躁日日躁欧美| 色偷偷偷综合中文字幕;dd| 欧美性xxxxx极品娇小| 91免费电影网站| 91成人国产在线观看| 亚洲一区二区三区乱码aⅴ| 日本精品视频在线播放| 欧美人与性动交a欧美精品|