隨筆-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 閱讀(1830) 評論(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

          積分與排名

          • 積分 - 684790
          • 排名 - 67

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 赣榆县| 灵川县| 师宗县| 怀仁县| 乌拉特后旗| 类乌齐县| 鄢陵县| 安图县| 乡城县| 绥棱县| 即墨市| 朝阳县| 红原县| 常州市| 阜阳市| 林州市| 会泽县| 屏东市| 陵川县| 明溪县| 克山县| 奉贤区| 肃南| 大余县| 全州县| 克东县| 瓦房店市| 江山市| 宁河县| 株洲市| 永州市| 曲阜市| 昌图县| 孟连| 永定县| 鄂温| 庆云县| 南充市| 阿鲁科尔沁旗| 房产| 鄱阳县|