notFull.await();中其实调用了park方法,先使用setBlocker保存一下将要阻塞的线程,然后调用本地方法UNSAFE.park(boolean isAbsolute, long time)进行阻塞。
public static void park(Object blocker) { Thread t = Thread.currentThread(); setBlocker(t, blocker); UNSAFE.park(false, 0L); setBlocker(t, null); }Java阻塞队列 (2)
内容版权声明:除非注明,否则皆为本站原创文章。