1 LockSupport是什么
LockSupport是用来创建锁和其他同步类的基本阻塞原语。
park方法可以阻塞线程,unpark方法可以唤醒线程。与object的wait和notify不同的是,不需要synchonized的限制,没有先后顺序的限制。
2 线程中断
线程不应该被其他线程中断,应该自己中断。
线程的三个中断方法
interrupt方法:通知目标线程中断,也就是设置目标线程的中断标记为ture,不做其他处理的话,线程还会继续运行。
isInterrupted方法: 判断线程是否中断
interrupeted方法:是静态方法,返回线程当前的中断状态,并且会清除中断标记。
3细节点
如果线程处于被阻塞状态(例如处于sleep, wait, join 等状态),在别的线程中调用当前线程对象的interrupt方法,
那么线程将立即退出被阻塞状态,并抛出一个InterruptedException异常。
try cache时,线程中断标记会被清除,如果需要中断,需要进行Thread.currentThread().interrupt(),重新设置中断标记。
上图
标签:标记,中断,LockSupport,线程,interrupt,方法 From: https://www.cnblogs.com/yumx/p/17438850.html