LockSupport

LockSupport的park和unpark的基本使用,以及对线程中断的响应性
ps:

  1. LockSupport.park(Object ) 仅仅只是做一个标识,方便排查问题,阻塞的线程就是当前线程
  2. 类似于二元信号量(只有一个许可可用),不同点是:初始时该许可不可用
  3. unpark可调用多次,但是只会增加最多一个许可
    unpark -> unpark -> park -> park :将会阻塞
  4. 注意方法原型: void park(Object blocker), 返回void,阻塞时可以响应中断信号,但是仅仅是方法return,不会抛出InterruptedException
  5. 底层调用unsafe实现

你可能感兴趣的:(LockSupport)