简单的死锁

来源:互联网 发布:彩无敌软件官网 编辑:程序博客网 时间:2024/05/19 12:15
public static void main(String[] args) {        Lock lock1 = new ReentrantLock();        Lock lock2 = new ReentrantLock();        Thread thread1 = new Thread(new Runnable() {            @Override            public void run() {                while(true)                {                    //第一个线程申请顺序为lock1,lock2                    lock1.lock();                    System.out.println("T1获取了第一把锁");                    lock2.lock();                    System.out.println("T1获取了第二把锁");                    lock2.unlock();                    lock1.unlock();                }            }        });        Thread thread2 = new Thread(new Runnable() {            @Override            public void run() {                while(true)                {                    //第二个线程申请顺序为lock2,lock1                    lock2.lock();                    System.out.println("T2获取了第二把锁");                    lock1.lock();                    System.out.println("T2获取了第一把锁");                    lock1.unlock();                    lock2.unlock();                }            }        });        thread1.start();        thread2.start();    }
原创粉丝点击