隨筆-199  評論-203  文章-11  trackbacks-0

          public class TestDeadLock implements Runnable{
           public int flag = 1;
           static Object S1 = new Object(),S2=new Object();
           public void run(){
            System.out.println("flag="+flag);
            if(flag==1){
             synchronized(S1){
              try{
               Thread.sleep(500);
              }catch(Exception e){
               e.printStackTrace();
              }
              synchronized(S2){
               System.out.println("1");
              }
             } 
             }
             if(flag==0){
              synchronized(S2){
               try{
                Thread.sleep(500);
               }catch(Exception e){
                e.printStackTrace();
               }
               synchronized(S1){
                System.out.println("0");
               }
              }
             }
           }

           public static void main(String[] args){
            TestDeadLock td1=new TestDeadLock();
            TestDeadLock td2=new TestDeadLock();
            td1.flag=1;
            td2.flag=0;
            Thread t1=new Thread(td1);
            Thread t2=new Thread(td2);
            t1.start();
            t2.start();
           }
          }
          //如果你把這個死鎖的執行過程都明白了,我想你的線程同步這一塊應該學得還算可以了!

          posted on 2009-03-12 08:16 Werther 閱讀(1831) 評論(2)  編輯  收藏 所屬分類: 10.Java

          評論:
          # re: 經典線程死鎖(Demo) 2009-03-12 09:41 | 逝水fox
          在程序中多個鎖之間的鎖定順序不一致造成的死鎖 確實比較典型的咯  回復  更多評論
            
          # re: 經典線程死鎖(Demo)[未登錄] 2009-03-12 12:32 | Werther
          @逝水fox
          面試的時候經常有面試官問到的題,設置有時候他要你手寫一個死鎖程序!  回復  更多評論
            

          I'm reading...

          Java 60

          Head  First SQL

          寶貝連接


          If you need these books,pls send me emails.
          Email:kunpeng.niu@163.com
          <2009年3月>
          22232425262728
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          留言簿(10)

          隨筆分類(178)

          隨筆檔案(208)

          文章檔案(1)

          新聞檔案(6)

          相冊

          1.Java Official Website

          2.Java Study Website

          3.Java Technic Website

          4.Java Video Website

          5.Database Website

          6.Bookshop Website

          7.English Website

          8.Friends Link

          9.Other Web

          積分與排名

          • 積分 - 684971
          • 排名 - 67

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 东台市| 通化市| 德惠市| 鹤山市| 陆丰市| 龙江县| 永昌县| 昌乐县| 宾阳县| 玉环县| 田东县| 邯郸市| 青铜峡市| 武乡县| 北宁市| 金门县| 金寨县| 沂南县| 开化县| 南靖县| 时尚| 察哈| 萍乡市| 固原市| 阳朔县| 宁安市| 桃园县| 兴城市| 得荣县| 玉山县| 昭通市| 桂平市| 乐亭县| 洱源县| 清远市| 拜城县| 土默特右旗| 昌图县| 温州市| 阳信县| 灌云县|