Unsafe类功能之(5)-线程的挂起和恢复

  1. park 当前线程挂起
  2. unpark 恢复目标线程
  3. jdk应用:jdk线程原语工具->LockSupport

park 当前线程挂起

中断当前线程,直到满足以下条件之一返回:
(1). 当前线程被别的线程 unpark
(2). 当前线程被中断: interrupted
(3). isAbsolute true: 绝对时间, 而且, 绝对时间点 time已经过去;
(4). isAbsolute false: 不是绝对时间, 纳秒时长 time 已经过去;

public native void park(boolean isAbsolute, long time);

unpark 恢复目标线程

对已经park了的目标线程解除阻塞. (若目标线程没有阻塞,则导致后续调用park不阻塞。)

public native void unpark(Object thread);

jdk应用:jdk线程原语工具->LockSupport

java.util.concurrent.locks.LockSupport类的方法part/unpark
image.png


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 hi@niewj.com

×

喜欢就点赞,疼爱就打赏