黑马程序员技术交流社区

标题: 这段代码会不会产生死锁 [打印本页]

作者: 自由人3738    时间: 2016-12-18 22:21
标题: 这段代码会不会产生死锁
public void run() {
                if(flag) {
                        lock1.lock();//加锁
                                System.out.println("if objA");
                                lock2.lock();
                                        System.out.println("if objB");
                                lock2.unlock();
                        lock1.unlock();
                }else {
                        lock2.lock();
                                System.out.println("else objB");
                                lock1.lock();
                                        System.out.println("else objA");
                                        lock1.unlock();
                                lock2.unlock();
                }
        }
作者: 自由人3738    时间: 2016-12-18 22:24
private Lock lock1 = new ReentrantLock();
private Lock lock2 = new ReentrantLock();
private boolean flag;
public DieLock(boolean flag) {
                this.flag = flag;
        }
作者: BigOrange    时间: 2016-12-19 07:41
我觉得不能..flag都没发生过变化





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2