2025-06-09
虚拟机与并发
0

在开始以前,先思考下什么是线程创建有哪几种方式,为了避免频繁创建和销毁线程造成不必要的性能,一般在使用线程时,会采用线程池,那什么是线程池呢?

2025-06-09
虚拟机与并发
0

上文聊到 CompletableFuture 内置了 ForkJoinPool 线程池,我们推荐使用自定义线程池,那这两种有什么区别呢?接下来我将对 ForkJoinPool 架构揭秘包括工作窃取算法、核心组件和任务提交与执行过程,了解以下这个专为可分解任务设计的线程池。

2025-06-08
虚拟机与并发
0

平时多线程开发一般就是使用 Runnable,Callable,Thread,FutureTask,ThreadPoolExecutor 这些内容,之前聊到 FutureTask 是同步非阻塞,将这些内容组合在一起去解决一些并发编程的问题时,很多时候不能去完成多线程的编排,这个时候就需要异步非阻塞的 CompletableFuture 来处理这些任务之间的逻辑关系了。

2025-06-08
虚拟机与并发
0

Java 创建线程的方式,一般常用的是 ThreadRunnable,如果需要当前处理的任务有返回结果的话, 需要使用 CallableCallable 运行需要配合 Future,那 Future 是个什么鬼?FutureTask 又是个什么鬼?你是否深入了解过源码的处理?接下来我们将分析 Future 接口和 FutureTask 类的关系,然后深入分析 FutureTask 的源码实现。

2025-06-06
虚拟机与并发
0

Java 并发包(JUC)提供了一系列强大的并发工具类,本文将深入解析常用工具类的原理,并通过完整代码示例展示其实际应用场景