王者并发课
-
王者并发课-铂金6:青出于蓝-Condition如何把等待与通知玩出新花样
欢迎来到《王者并发课》,本文是该系列文章中的第19篇。 在上一篇文章中,我们介绍了阻塞队列。如果你阅读过它的源码,那么你一定会注意到其中的condition变量以及它在读写队列时的…
-
王者并发课-铂金7:整齐划一-CountDownLatch如何协调多线程的开始和结束
欢迎来到《王者并发课》,本文是该系列文章中的第20篇。 在上一篇文章中,我们介绍了Condition的用法。在本文中,将为你介绍CountDownLatch的用法。CountDow…
-
王者并发课-铂金8:峡谷幽会-看CyclicBarrier如何跨越重峦叠嶂
欢迎来到《王者并发课》,本文是该系列文章中的第21篇,铂金中的第8篇。 在上一篇文章中,我们介绍了CountDownLatch的用法。在协调多线程的开始和结束时,CountDown…
-
王者并发课-铂金9:互通有无-Exchanger如何完成线程间的数据交换
欢迎来到《王者并发课》,本文是该系列文章中的第22篇,铂金中的第9篇。 在前面的文章中,我们已经介绍了ReentrantLock,CountDownLatch,CyclicBarr…
-
王者并发课-铂金10:能工巧匠-ThreadLocal如何为线程打造私有数据空间
欢迎来到《王者并发课》,本文是该系列文章中的第23篇,铂金中的第10篇。 说起ThreadLocal,相信你对它的名字一定不陌生。在并发编程中,它有着较高的出场率,并且也是面试中的…
-
王者并发课-钻石1:明心见性-如何由表及里精通线程池设计与原理
欢迎来到《王者并发课》,本文是该系列文章中的第24篇,砖石中的第1篇。 在钻石系列中,我们将学习线程池相关的框架和工具类。作为铂金系列的第一篇,我们将在这篇文章中深入讲解线程池的应…
-
王者并发课-钻石2:分而治之-如何从原理深入理解ForkJoinPool的快与慢
欢迎来到《王者并发课》,本文是该系列文章中的第25篇,砖石中的第2篇。 在上一篇文章中,我们学习了线程池ThreadPoolExecutor,它通过对任务队列和线程的有效管理实现了…