死锁产生的原因

    1. 死锁——两个线程都在等待对方先完成,造成程序的停滞
    2. 死锁的条件:
      1. 两个或两个以上的线程在活动
      2. 某个线程拿到一个锁以后,还想拿第二个锁,造成锁的嵌套
        public class Test {
        	public static void main(String[] args) {
        		Object bobby = new Object();
        		Object duck = new Object();
        		Thread tangtang = new Thread(new TangTang(bobby,duck));
        		Thread doudou = new Thread(new DouDou(bobby,duck));
                tangtang.start();
                doudou.start();
        }
        }
        
        
        class TangTang implements Runnable{
        	Object bobby ;
        	Object duck ;
        	
        	public TangTang(Object bobby, Object duck) {
        		super();
        		this.bobby = bobby;
        		this.duck = duck;
        	}
        
        	@Override
        	public void run() {
        		synchronized(bobby){
        			try {
        				Thread.sleep(500);
        			} catch (InterruptedException e) {
        				// TODO Auto-generated catch block
        				e.printStackTrace();
        			}
        			synchronized(duck){
        				
        			}
        		}
        		System.out.println("芭比给你玩!");
        		
        	}
        }
        
        class DouDou implements Runnable{
        	Object bobby ;
        	Object duck ;
        	
        	public DouDou(Object bobby, Object duck) {
        		super();
        		this.bobby = bobby;
        		this.duck = duck;
        	}
        
        	@Override
        	public void run() {
        		synchronized(duck){
        			try {
        				Thread.sleep(500);
        			} catch (InterruptedException e) {
        				// TODO Auto-generated catch block
        				e.printStackTrace();
        			}
        			synchronized(bobby){
        				
        			}
        		}
        		System.out.println("玩具鸭给你玩!");
        		
        	}
        }

         

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值