为什么他们可以使线程等待?为什么可以让线程间相互通信?通过什么通信?
其实是基于java的对象头。
每一个java对象都有对象头,而wait,notify,notifyAll,就是基于对象头中的锁状态标识。
这其实也是为什么使用wait,notify,notifyAll方法的对象,需要先使用synchronized同步的原因。
使用举例:
public class MainGLock {
static class IRunable implements Runnable{
@SneakyThrows
@Override
public