线程中断机制
LockSupport类
简介:用于创建锁和其他同步类的基本线程阻塞原语
该类与使用它的每个线程关联一个许可证(在Semaphore类的意义上)。如果许可证可用,将立即返回park,并在此过程中消费;否则可能会阻止。如果尚未提供许可,则致电unpark获取许可(与Semaphore不同,许可证不会累积,最多只有一个)
主要api:park与unpark方法,需要成对使用。
park:除非许可证可用,否则禁用当前线程以进行线程调度。【作用:阻塞线程】
unaprk:如果给定线程尚不可用,则为其提供许可。【作用:解除阻塞线程】
底层调用的是unsafe类,
使用场景:
线程阻塞唤醒的方法
有3种方式
1、使用Object中的wait()方法让线程等待,使用Object中的notify()方法唤醒线程
2、使用JUC包中Condition的await()方法让线程等待,使用signal()方法唤醒线程
3、 LockSupport类可以阻塞当前线程以及唤醒指定被阻塞线程