首页 > 编程语言 > 详细

java 实现死锁

时间:2014-10-06 22:25:21      阅读:388      评论:0      收藏:0      [点我收藏+]
package 线程安全的讨论;
class DThread implements Runnable
{
    private Object o1=null;
    private Object o2=null;
    public DThread(Object o1,Object o2)
    {
        this.o1=o1;
        this.o2=o2;
    }

    @Override
    public void run() {
        // TODO Auto-generated method stub
              synchronized(o1)
              {
                  try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                  synchronized(o2)
                  {
                      System.out.println("突破两道防线,进来啊,哈哈"+Thread.currentThread().getId());
                  }
                  
                  
              }
    }
    
    
    }

public class DeadLockTest {
    public static void main(String args[])
    {
        System.out.println("死锁检测");
        Object o1=new Object();
        Object o2=new Object();
        //开启10个线程,按照1,2获得锁。
        for(int i=0;i<100;i++)
        {
            new Thread(new DThread(o1,o2)).start();;
        }
        //按照1,0获得锁
        for(int i=0;i<100;i++)
        {
            new Thread(new DThread(o2,o1)).start();;
        }
        for(int i=0;i<100;i++)
        {
            new Thread(new DThread(o1,o2)).start();;
        }
        
        
    }

}

 

java 实现死锁

原文:http://www.cnblogs.com/hansongjiang/p/4008766.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!