LockSupport定义了一组以park开通的方法用来阻塞当前线程,以及unpark(Thread thread)来唤醒一个被阻塞线程
借助UNSAFE类来实现对应的方法,
方法名称 | 描述 |
---|---|
void park() | 阻塞当前线程,如果调用unpark(Thread thread)方法或者当前线程被中断,才能从park()方法返回 |
void parkNanos(long nanos) | 阻塞当前线程,最长不超过nanos纳秒,返回条件在park()的基础上增加了超时返回 |
void parkUntil(long deadline) | 阻塞当前线程,知道deadline时间 |
void unpark(Thread thread) | 唤醒处于阻塞状态的线程thread |