The current thread must own this

2020-03-17  本文已影响0人  丫头可乐

这是Object类中,wait方法的注释中的一段话,

这句话的意思是:wait()会释放对象的锁,所以调用wait的条件是一定要拥有对象的锁,所以wait方法应该放在synchronize里面,如下

package com.lin.thread;

public class ThreadWait {
    private Object lock;

    public ThreadWait(Object lock) {
        this.lock = lock;
    }


    public void testWait(){
        synchronized (lock) {
            System.out.println("start wait...");
            try {
                lock.wait();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println("end wait ...");
        }
    }
}

上一篇 下一篇

猜你喜欢

热点阅读