Java 并发
文章平均质量分 94
主要为 Java 中与并发相关的组件内容
谈谈1974
火萎了,我也准备走了
展开
-
响应式编程-Flux 发布订阅源码分析
文章目录1. 响应式关键组件1.1 发布器 Publisher1.2 订阅器 Subscriber1.3 数据容器 Subscription2. Flux 发布消费流程分析2.1 发布器的准备2.2 订阅器的消费1. 响应式关键组件1.1 发布器 Publisher1.2 订阅器 Subscriber1.3 数据容器 Subscription2. Flux 发布消费流程分析一个典型的响应式代码示例如下,下图为其源码流程示意Flux.range(1, 1000) .onBackpress原创 2020-11-19 17:42:32 · 4037 阅读 · 0 评论 -
Java 线程池默认任务队列 LinkedBlockingQueue 源码分析
文章目录1. LinkedBlockingQueue 简介2. LinkedBlockingQueue 的关键属性3. LinkedBlockingQueue 的元素存取流程3.1 添加元素3.2 取出元素1. LinkedBlockingQueue 简介LinkedBlockingQueue 是线程池默认使用的任务队列,为了满足多线程环境下元素出入队列的安全性,其主要有以下特点:LinkedBlockingQueue 是基于链表结构的阻塞队列,默认容量为 Integer.MAX_VALUE,可以原创 2021-06-09 19:51:11 · 2779 阅读 · 0 评论 -
Java CompletableFuture(2)-原理详解
文章目录1. 关键组件2. 实现原理1. 关键组件2. 实现原理原创 2021-02-28 18:08:45 · 593 阅读 · 0 评论 -
Java CompletableFuture(1)-使用详解
文章目录前言1. CompletableFuture 的基本原理2. CompletableFuture 的使用前言最近项目开发中遇到对性能有较高要求的需求,实现过程中准备采用异步多线程的方式完成对外请求,以减少接口耗时。在 Spring 框架中,要完成这个目标大部分人都会使用以下两种方式,但是相较于笔者需求需要使用异步的点而言,这两种方式明显太重了。笔者思索了一下午,偶然记起 JDK 1.8 中新引入了 CompletableFuture,故有此文使用 @EnableAsync 和 @Asyn原创 2021-02-27 16:37:52 · 910 阅读 · 0 评论 -
Java 线程池源码详解(2)-ForkJoinPool 源码解析
文章目录1. ForkJoinPool 的组件1.1 线程池 ForkJoinPool1.2 工作线程 ForkJoinWorkerThread1.3 线程任务 ForkJoinTask2. 任务执行流程3. work stealing 算法1. ForkJoinPool 的组件1.1 线程池 ForkJoinPool1.2 工作线程 ForkJoinWorkerThread1.3 线程任务 ForkJoinTask2. 任务执行流程3. work stealing 算法...原创 2020-05-15 22:19:10 · 1848 阅读 · 0 评论 -
Java 队列同步器 AQS(AbstractQueuedSynchronizer)源码解析
文章目录1. AQS 同步原理1.1 核心思想1.2 具体实现2. JDK 中 AQS 的应用2.1 ReentrantLock2.2 CountDownLatch2.3 Semaphore2.4 CyclicBarrier1. AQS 同步原理1.1 核心思想1.2 具体实现2. JDK 中 AQS 的应用https://github.com/Snailclimb/JavaGuide/...原创 2019-09-17 13:39:35 · 474 阅读 · 0 评论 -
Java 线程池源码详解(1)-基本线程池解析
文章目录1. 线程池的使用1.1 创建线程池方式1.2 线程池核心 ThreadPoolExecutor1.2.1 ThreadPoolExecutor 构造方法1.2.1 ThreadPoolExecutor 关键方法1.2.1.1 线程池任务处理方法1.2.1.2 线程池关闭方法2. 线程池任务处理原理2.1 线程池状态2.2 线程池任务执行流程3. 配置线程池3.1 配置线程数量3.2 线程...原创 2019-09-09 23:45:12 · 443 阅读 · 0 评论