2013 1031:
类:
java.util.concurrent.locks.LockSupport
方法:
public static void park() 、public static void unpark(Thread thread)
笔记:
这两个方法,一个将当前线程挂住,一个将指定线程唤醒。两个方法的效果都是立竿见影的,不考虑CPU时间片的话,就是立即生效。
根据当前阅读的源码分析,如果调用park后,线程信息不交给其他线程处理,那么这个线程就没有被唤醒的机会了。
类:
java.util.concurrent.locks.LockSupport
方法:
public static void park(Object blocker) 、 public static Object getBlocker(Thread t)
笔记:
park方法的作用与无参数park方法一样,多出来的blocker,会被反射放入当前线程的volatile Object parkBlocker;属性中。
调用getBlocker方法,可以把指定线程的parkBlocker属性取出来。
类:
java.util.concurrent.locks.LockSupport
方法:
public static void parkNanos(Object blocker, long nanos) 、 public static void parkUntil(Object blocker, long deadline) 、 public static void parkNanos(long nanos) 、public static void parkUntil(long deadline)
笔记:
将线程挂住指定时间,或者是时间段,或者是时间点。