摘要:
Node节点状态源码解析:https://www.cnblogs.com/fsmly/p/11274572.html 流程解析:https://www.cnblogs.com/waterystone/p/4920797.html condition源码解析:https://www.jianshu.c 阅读全文
posted @ 2019-11-25 20:49
朱子威
阅读(152)
评论(0)
推荐(0)
摘要:
ForkJoin框架之ForkJoinTask java 阅读约 62 分钟 前言 在前面的文章"CompletableFuture和响应式编程"中提到了ForkJoinTask和ForkJoinPool,后者毫无疑问是一个线程池,前者则是一个类似FutureTask经典定义的概念. 官方有一个非常 阅读全文
posted @ 2019-11-25 20:39
朱子威
阅读(1030)
评论(0)
推荐(0)
摘要:
本文的主要目的是介绍 ForkJoinPool 的适用场景,实现原理,以及示例代码。 说在前面可以说是说明,也可以说下面是结论: ForkJoinPool 不是为了替代 ExecutorService,而是它的补充,在某些应用场景下性能比 ExecutorService 更好。ForkJoinPoo 阅读全文
posted @ 2019-11-25 20:32
朱子威
阅读(6305)
评论(0)
推荐(0)
摘要:
每种编程语言都有自己操作内存中元素的方式,例如在 C 和 C++ 里是通过指针,而在 Java 中则是通过“引用”。在 Java 中一切都被视为了对象,但是我们操作的标识符实际上是对象的一个引用(reference)。 //创建一个引用,引用可以独立存在,并不一定需要与一个对象关联 String s 阅读全文
posted @ 2019-11-25 19:16
朱子威
阅读(3944)
评论(0)
推荐(2)
摘要:
类图如下: Executors创建线程池的方式 根据返回的对象类型创建线程池可以分为三类: 创建返回ThreadPoolExecutor对象 创建返回ScheduleThreadPoolExecutor对象 创建返回ForkJoinPool对象 本文只讨论创建返回ThreadPoolExecutor 阅读全文
posted @ 2019-11-25 14:39
朱子威
阅读(1163)
评论(0)
推荐(0)
摘要:
一、线程池简介 线程池的使用主要是解决两个问题:①当执行大量异步任务的时候线程池能够提供更好的性能,在不使用线程池时候,每当需要执行异步任务的时候直接new一个线程来运行的话,线程的创建和销毁都是需要开销的。而线程池中的线程是可复用的,不需要每次执行异步任务的时候重新创建和销毁线程;②线程池提供一种 阅读全文
posted @ 2019-11-25 13:46
朱子威
阅读(1586)
评论(0)
推荐(0)
摘要:
1、线程池的使用场景 等待返回任务的结果的多步骤的处理场景, 批量并发执行任务,总耗时是单个步骤耗时最长的那个,提供整体的执行效率, 最终一致性,异步执行任务,无需等待,快速返回 2、线程池的关键参数说明 一般情况下我们是通过ThreadPoolExecutor来构造我们的线程池对象的。 * 阿里巴 阅读全文
posted @ 2019-11-25 11:32
朱子威
阅读(2282)
评论(0)
推荐(0)
摘要:
我们都知道CPU上下文切换,会增加系统负载。那什么是CPU上下文,为什么要切换? 什么是CPU上下文 我们都知道,Linux 是一个多任务操作系统,它支持远大于 CPU 数量的任务同时运行。当然,这些任务实际上并不是真的在同时运行,而是因为系统在很短的时间内,将 CPU 轮流分配给它们,造成多任务同 阅读全文
posted @ 2019-11-25 10:35
朱子威
阅读(997)
评论(0)
推荐(0)