多线程
文章平均质量分 86
多线程
洞之蝉
真正想做的人总是什么也不说,扭头就去做了。
展开
-
Java 并发之 Fork/Join 框架
转自:Java 并发之 Fork/Join 框架 - 掘金什么是 Fork/Join 框架Fork/Join 框架是一种在 JDK 7 引入的线程池,用于并行执行把一个大任务拆成多个小任务并行执行,最终汇总每个小任务结果得到大任务结果的特殊任务。通过其命名也很容易看出框架主要分为 Fork 和 Join 两个阶段,第一阶段 Fork 是把一个大任务拆分为多个子任务并行的执行,第二阶段 Join 是合并这些子任务的所有执行结果,最后得到大任务的结果。这里不难发现其执行主要流程:首先判断一个任务转载 2021-11-16 18:04:07 · 258 阅读 · 0 评论 -
ThreadLocal内存泄漏案例分析实战
用代码实战,彻底搞清楚ThreadLocal发生内存泄漏的情况。很多文章讲的模棱两可,在和群友的沟通中,基本弄清楚了ThreadLocal到底是什么回事,解决大多数文章都无法把知识点和实际使用结合起来讲。先写个小例子/** * 测试threadLocal内存泄漏 * 01:固定6个线程,每个线程持有一个变量 * 按理来说会有 6 * 5 = 30M内存无法回收,其余的在set方法中覆盖了。 */public class ThreadLocalOutOfMemoryTest { s转载 2021-11-16 15:56:32 · 879 阅读 · 0 评论 -
CountDownLatch介绍
CountDownLatch概述CountDownLatch一般用作多线程倒计时计数器,强制它们等待其他一组(CountDownLatch的初始化决定)任务执行完成。 有一点要说明的是CountDownLatch初始化后计数器值递减到0的时候,不能再复原的,这一点区别于Semaphore,Semaphore是可以通过release操作恢复信号量的。CountDownLatch使用原理使用原理创建CountDownLatch并设置计数器值。 启动多线程并且调用CountDownLatch实例转载 2021-08-04 16:54:07 · 396 阅读 · 0 评论