LockSupport
LockSupport定义了一组公共静态方法,这些方法提供了最基本的线程阻塞和唤醒功能,是构建同步组件的基础工具,它主要有两类方法:
以
park开头的方法:阻塞当前线程以
unpark开头的方法:唤醒被阻塞的线程
void park()
阻塞当前线程,只有当前线程被中断或其他线程调用unpark(Thread thread),才能从park()方法返回
void parkNanos(long nanos)
阻塞当前线程,最长不超过nanos纳秒,返回条件在park()的基础上增加了超时返回
void parkUntil(long deadline)
阻塞当前线程,直到deadline这个时间点(从1970年开始到deadline时间的毫秒数)
void unpark(Thread thread)
唤醒处于阻塞状态的thread线程在JDK1.6中,该类增加了void park(Object blocker)、void parkNanos(Object blocker, long nanos)、void parkUntil(Object blocker, long deadline)方法,相比之前的park方法,多了一个blocker对象,该对象用来标识
当前线程在等待的对象(阻塞对象),主要用来问题排查和系统监控(对线程dump时,可以提供阻塞对象的信息),可以用来代替原有的park方法。
Last updated