魚躍于淵

          First know how, Second know why !
          posts - 0, comments - 1, trackbacks - 0, articles - 49

          Thread DeadLock demo

          Posted on 2008-12-06 11:54 魚躍于淵 閱讀(209) 評論(0)  編輯  收藏 所屬分類: j2se
           1 
           2 public class ThreadDeadLock implements Runnable{
           3     
           4     private int flag ;
           5     static Object o1 = new Object() ;
           6     static Object o2 = new Object() ;
           7     
           8     public void run(){
           9         System.out.println("flag = " + flag) ;
          10         if(flag==1){
          11             synchronized(o1){
          12                 try{
          13                     Thread.sleep(1000) ;
          14                 }catch(InterruptedException ex){
          15                     ex.printStackTrace() ;
          16                 }
          17                 synchronized(o2){
          18                     System.out.println("Hello , I'm Thread t1, and I synchronized o2 !");
          19                 }
          20             }
          21             
          22         }
          23         
          24         if(flag==2){
          25             synchronized(o2){
          26                 try{
          27                     Thread.sleep(1000);
          28                 }catch(InterruptedException ex){
          29                     ex.printStackTrace() ;
          30                 }
          31                 synchronized(o1){
          32                 System.out.println("Hello , I'm Thread t2, and I synchronized o1 !") ;
          33             }
          34             }
          35             
          36         }
          37     }
          38     
          39     public static void main(String[] args){
          40         ThreadDeadLock dl1 = new ThreadDeadLock() ;
          41         ThreadDeadLock dl2 = new ThreadDeadLock() ;
          42         dl1.flag = 1 ;
          43         dl2.flag = 2 ;
          44         Thread t1 = new Thread(dl1) ;
          45         Thread t2 = new Thread(dl2) ;
          46         t1.start() ;
          47         t2.start() ;
          48     }
          49 }
          主站蜘蛛池模板: 喜德县| 凯里市| 理塘县| 山阴县| 尖扎县| 赤水市| 二连浩特市| 辽宁省| 团风县| 嘉黎县| 元谋县| 哈巴河县| 高平市| 广平县| 特克斯县| 尉犁县| 扶风县| 荥经县| 石屏县| 沂源县| 鸡泽县| 甘谷县| 博罗县| 萝北县| 唐山市| 福海县| 光泽县| 蒲城县| 奉化市| 易门县| 五大连池市| 河间市| 铜鼓县| 江陵县| 玉屏| 柳林县| 永修县| 洪江市| 苗栗市| 特克斯县| 琼中|