让线程唤醒等待方法

方式1:

使用Object中的wait()方法让线程等待,使用Object类的notify()方法唤醒线程
注意:wait()\notify()必须在synchronized内部执行,否则会报lllegalMonitorsStateException

方式2:

使用JUC包中的Codition的await()方法让线程等待,使用signal()方法唤醒线程

方式3:

LockSupport类可以阻塞当点线程以及唤醒指定被阻塞的线程

JVM锁

Lock接口

LockSupport类

是用来创建锁和其他同步类的基本线程阻塞原语,LockSupport中的park()和unpark()的作用分别是阻塞线程和解除阻塞线程

AQS