高并发编程基础-引言
5W1H
这里用“六何”的分析方法概括下即将开始的新主题高并发编程基础系列文章。
what何事:
高并发编程指同一时间进行大量任务的处理,同时保持过程稳定和结果一致。Java中使用多线程技术来支撑高并发的场景。“高并发编程基础”指的就是多线程这块技术的内容。
随着JDK版本的迭代,JDK已经出到23,本文主要基于JDK17版本的源码和api来说明多线程编程技术的使用。一个是因为这个版本稳定兼容性好,第二个是相较于8的版本更加新和优秀。
why何因:
Java为多线程提供了基本的工具来支持在多核处理器进行编程的工具类,通过对这款内容的学习可以加深对并发框架的使用原理的了解以及满足日常多线程开发过程的使用。
where何地:
“高并发编程基础”会发表在各大技术论坛(掘金、知乎、CSDN等)、公众号和博客(https://r0ad.github.io/)中。
when何时:
预计需要花费一个月时间完成整个基础教程的输出。
who何人:
适合希望使用或学习多线程编程或想要自我检查学习成果的人。不足之处可以随时交流指出
how何法:
通过源码分析加DEMO实战加图片文字说明的方式输出整个系文档。
大纲
整个“高并发编程基础”可能的大纲如下,随着后续迭代可能进行增删。
- 线程基础知识说明
- Thread构造函数使用说明
- Thread常用API使用说明
- 线程安全与数据同步
- 并发中的基础概念Monitor
- 线程间通信
- AQS的原理和实现
- Java中锁的概念和原理
- 对象共享中的可见性问题
- ThreadGroup的使用
- Hook线程以及捕获线程执行异常
- 线程池原理以及自定义线程池
- 线程上下文通讯
- 单例模式与多线程
- Lock的使用
- CAS 原子操作及相关类
- Future 和 FutureTask
- 线程池工作原理
- ThreadLocal 底层原理
- 等等
参考
由于水平限制,“高并发编程基础”参考了很多资料来编写。
- JDK 17 官方文档,用于自查和权威核对 https://docs.oracle.com/en/java/javase/17/
- 涉及JDK源码、基础原理介绍的书:《Java高并发编程详解:多线程与架构设计》(基于JDK8)
- 涉及Java标准介绍和多线程基础说明的书: 《Java多线程编程核心技术》(基于JDK8)
关于作者
来自一线全栈程序员nine的八年探索与实践,持续迭代中。欢迎关注“雨林寻北”或添加个人卫星codetrend(备注技术)。