zoukankan      html  css  js  c++  java
  • 关于实现线程死锁的一个例子

    关于实现线程死锁的一个例子
    线程对象class DeadLock

     {
        //模拟两个对象
        private final Object obj1 = new Object();
        private final Object obj2 = new Object();
        public static void main(String[] args){
            DeadLock dl = new DeadLock();
            dl.testDeadLock();
            //System.out.println("Hello World!");
            }
        public void testDeadLock(){ 
            new Thread(new Runnable(){  
                public void run(){     
                    testSync(obj1,obj2);
                    System.out.println("obj1...");  
                }       
            }).start();  
            
            new Thread(new Runnable(){  
                public void run(){
                    testSync(obj2,obj1);
                    System.out.println("obj2...");  
                    }    
                }).start();
        }
        
        public static void testSync(Object obj,Object obje){   
            synchronized(obj){
                try{ Thread.sleep(2*1000);
                }catch(Exception e){
                    e.printStackTrace();
                }
            }
            synchronized(obje){
                try{ 
                    Thread.sleep(2*1000);
                }catch(Exception e){
                    e.printStackTrace();
                }
            }
        }
    }        
  • 相关阅读:
    Codeforces
    Codeforces
    SCUT
    Codeforces
    Codeforces
    poj 2229 Sumsets(类似于n的m划分)
    poj 1742 Coins(多重背包)
    hdu 2159FATE(完全背包)
    NOIP 普及组 2014 比例简化
    2018.10.2浪在ACM 集训队第三次测试赛
  • 原文地址:https://www.cnblogs.com/xiaoshen666/p/10898812.html
Copyright © 2011-2022 走看看