Felix's BlogFelix's Blog
  • 首页
  • 提示
  • 基础环境整理
  • 计算机基础
  • Java
  • 数据库
  • 消息中间件
  • Spring
  • 其他框架
  • 其他
  • Java
  • 集合
  • JVM
  • 并发
  • 亿级流量 Java 高并发与网络编程实战
  • Spring Framework
  • Spring Boot
  • Spring Cloud
  • 微服务
  • 任务调度
  • 概述
  • Cuda
  • Dify
  • MySQL
  • Redis
  • Elasticsearch
  • HugeGraph
  • ClickHouse
  • Kafka
  • RabbitMQ
  • ActiveMQ
  • Nats
  • Nginx
  • Apisix
  • Kettle
  • Minio
  • 核心软件
  • 后端
  • 前端
  • 测试
  • Unity
  • 我的菜谱
Series
Java 并发1 多线程基础2 Atomic 类3 Lock 与 Condition4 同步工具类5 并发容器6 线程池与 Future7 ForkJoinPool8 CompletableFuture

7 ForkJoinPool

felix.shao2025-02-16

7 ForkJoinPool

  • 7.1 ForkJoinPool 用法
  • 7.2 核心数据结构
  • 7.3 工作窃取队列
  • 7.4 ForkJoinPool 状态控制
    • 7.4.1 状态变量 ctl 解析
    • 7.4.2 阻塞栈-Treiber Stack
    • 7.4.3 ctl 变量的初始值
    • 7.4.4 ForkJoinWorkThread 状态与个数分析
  • 7.5 Worker 线程的阻塞-唤醒机制
    • 7.5.1 阻塞-入栈
    • 7.5.2 唤醒-出栈
  • 7.6 任务的提交过程分析
    • 7.6.1 内部提交任务 pushTask
    • 7.6.2 外部提交任务 addSubmission
  • 7.7 工作窃取算法:任务的执行过程分析
    • 7.7.1 顺序锁 SeqLock
    • 7.7.2 scanGuard 解析
  • 7.8 ForkJoinTask 的 fork/join
    • 7.8.1 fork
    • 7.8.2 join 的层层嵌套
  • 7.9 ForkJoinPoll 的优雅关闭
    • 7.9.1 关键的 terminate 变量
    • 7.9.2 shutdown() 与 shutdownNow() 的区别

7.1 ForkJoinPool 用法

7.2 核心数据结构

7.3 工作窃取队列

7.4 ForkJoinPool 状态控制

7.4.1 状态变量 ctl 解析

7.4.2 阻塞栈-Treiber Stack

7.4.3 ctl 变量的初始值

7.4.4 ForkJoinWorkThread 状态与个数分析

7.5 Worker 线程的阻塞-唤醒机制

7.5.1 阻塞-入栈

7.5.2 唤醒-出栈

7.6 任务的提交过程分析

7.6.1 内部提交任务 pushTask

7.6.2 外部提交任务 addSubmission

7.7 工作窃取算法:任务的执行过程分析

7.7.1 顺序锁 SeqLock

7.7.2 scanGuard 解析

7.8 ForkJoinTask 的 fork/join

7.8.1 fork

7.8.2 join 的层层嵌套

7.9 ForkJoinPoll 的优雅关闭

7.9.1 关键的 terminate 变量

7.9.2 shutdown() 与 shutdownNow() 的区别

Last Updated 2/16/2025, 4:13:06 PM

← 6 线程池与 Future8 CompletableFuture →

ON THIS PAGE
  • 7.1 ForkJoinPool 用法
  • 7.2 核心数据结构
  • 7.3 工作窃取队列
  • 7.4 ForkJoinPool 状态控制
  • 7.4.1 状态变量 ctl 解析
  • 7.4.2 阻塞栈-Treiber Stack
  • 7.4.3 ctl 变量的初始值
  • 7.4.4 ForkJoinWorkThread 状态与个数分析
  • 7.5 Worker 线程的阻塞-唤醒机制
  • 7.5.1 阻塞-入栈
  • 7.5.2 唤醒-出栈
  • 7.6 任务的提交过程分析
  • 7.6.1 内部提交任务 pushTask
  • 7.6.2 外部提交任务 addSubmission
  • 7.7 工作窃取算法:任务的执行过程分析
  • 7.7.1 顺序锁 SeqLock
  • 7.7.2 scanGuard 解析
  • 7.8 ForkJoinTask 的 fork/join
  • 7.8.1 fork
  • 7.8.2 join 的层层嵌套
  • 7.9 ForkJoinPoll 的优雅关闭
  • 7.9.1 关键的 terminate 变量
  • 7.9.2 shutdown() 与 shutdownNow() 的区别