1

Unsafe类功能之: park unpark

线程的挂起和恢复

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线程原语工具

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


丰木
322 声望19 粉丝

遇见超乎想象的自己!