1
进
程
与
线
程
基
本
概
念
1
1.1
1.2
1.3
1.4
1.4.1
1.4.2
1.4.3
1.4.4
1.4.5
1.5
1.5.1
1.5.2
1.5.3
1.5.4
1.5.5
1.5.6
1.6
1.6.1
1.6.2
1.6.3
1.6.4
1.6.5
1.6.6
1.6.7
1.6.8
1.6.9
⽬
录
RedSpider
社
区
简
介
本
书作
者
介
绍
本
书
简
介
第
⼀
篇
:
基
础
篇
1
进
程
与
线
程
基
本
概
念
2 Java
多
线
程
⼊
⻔
类
和
接
⼝
3
线
程
组
和
线
程
优
先
级
4 Java
线
程
的
状
态
及
主
要
转
化
⽅
法
5 Java
线
程
间
的
通
信
第
⼆
篇
:
原
理
篇
6 Java
内
存
模
型
基
础知
识
7
重
排
序
与
happens-before
8 volatile
9 synchronized
与
锁
10 CAS
与
原
⼦
操
作
11 AQS
第
三
篇
:
JDK
⼯
具
篇
12
线
程
池
原
理
13
阻
塞
队
列
14
锁
接
⼝和
类
15
并
发
集
合
容
器
简
介
16 CopyOnWrite
17
通
信
⼯
具
类
18 Fork/Join
框架
19 Java 8 Stream
并
⾏计
算
原
理
20
计
划
任
务
1
进
程
与
线
程
基
本
概
念
2
RedSpider
社
区
介
绍
RedSpider
社
区
介
绍
RedSpider
技
术
社
区
始
于
2018
年
秋
的
成
都
。
在
本
书
发
布
时
,
社
区
共
五位
活
跃
成
员
,
均
参
与
了
本
书
的
撰
写
及
审
校
⼯
作
。
他们
的
代
号
分别
是
(
排
名
按拼
⾳
排
序
,不
分先
后
):
灵
鹤
,
⽑⽑
⾍
,
潘
帕
斯
雄
鹰
,
萤
⽕
⾍
,
啄
⽊
⻦
。
活
跃
RedSpider
是
⼀个
⾮
常
活
跃
的
技
术
社
区
,
虽
然
现
在
成
员
⼈
数
不
多
,
但
是
对
于
社
区
的
各
种
活
动
都
⾮
常
积
极
和
活
跃
。
⽬
前
社
区
内
部
⼤多
都
是
Java
开
发
⼯
程
师
,且
都
对
技
术
始
终
保
持
极
⾼
的
热
情
。
RedSpider
是
⼀个
⾃
我
驱
动
的
技
术
学
习
社
区
,
社
区
内
部
拥
有
⾮
常
丰
富
的
活
动
形式
,
⽐
如
⼀
起
开
技
术
沙
⻰
、
⼀
起
写
博
客
、
⼀
起
写
书
、
⼀
起
写
代
码
。
除
了
与
技
术
相
关
的
活
动
以
外
,
我
们
还
会
偶
尔
线
下
聚
餐
和
⼀
起
出
去
运
动
。
虽
然
有
⼀
位
成
员
不
在
成
都
,
但仍
然
会
“
云
参
与
”
到
我
们
的
每次
线
下
活
动
。
敏捷
RedSpider
技
术
社
区
是
⼀个
敏捷
的
技
术
社
区
。
我
们
通过
⼀
些
敏捷
流
程
和
⼯
具
来
管
理
社
区
的⽬
标
和
进
程
。
⽐
如
在
写
这
本
书
的
时
候
,
我
们使
⽤
了
国
内
的
Teambition
软
件
来
追
踪
每
篇
⽂
章
的
初
稿
和
修
订
状
态
。
我
们
每
两
周
⼀个
迭
代
,
我
们会
在
迭
代
开
始
时
安
排
下个
迭
代
要
做
的
事
情
,
在
迭
代
结
束
的
时
候
开
迭
代会
议
(
Retro
)
总
结
这
个
迭
代
。
我
们使
⽤
Git
来
管
理
整
个
书
籍
的
编
写
⼯
作
,
托
管
到
GitHub
上
。
到
⽬
前
为
⽌
总
共
有
两
百
多
次
提
交
记
录
,
地址
:
https://github.com/RedSpider1/concurrent
。
开
源
与
分
享
经
社
区
成
员
⼀
致
决
定
,
本
书
将
发
布
到
GitBook
。
⼀
⽅
⾯
是
觉
得
出
版
纸
质
书
⽐
较
麻
烦
,
要
联
系
出
版
商
以
及
排
版
成
Word
。
另
⼀
⽅
⾯
,
也
算
是
想
免
费
向
⼤
众
分
享
RedSpider
社
区
⼏
个
⽉
以
来
的
成
果
,
开
源
本
书也
算
是
社
区
对
中
国
Java
开
发
者
做出
⼀
点
⼒
所
能
及
的
贡
献
。
新
的
起
点
虽
然
本
书
已
经
写
完
第
⼀
次
发
布
,
但
我
们
社
区
的
步
伐
并
没
有
结
束
。
未来
还
会
有更
多
的
技
术
活
动
及
产
出
。
我
们
希
望
能
够
吸
收
更
多
志
同
道
合
的
朋
友
,
如
果
您
有
兴
趣
加⼊
我
们
,
欢
迎
加⼊
我
们
的
交
流
群
,
并
发
送
简
历
到
RedSpider
社
区
邮
件
组
:
redspider@qun.mail.163.com
,
我
们
将
在
收
到
简
历后
联
系
你
。
加⼊
我
们
,
你
可
以
获
得
:
1
进
程
与
线
程
基
本
概
念
3
持
续
学
习
新
技
术
,
培
养
⾃
⼰
的
技
术
⼴度
和
深
度
;
参
与
社
区
活
动
(
⽐
如
沙
⻰
、
写
博
客
、
写
书
等
),
增
强
个
⼈
影
响
⼒
;
参
与
开
源
项
⽬
,
获
得开
源
项
⽬
经
验
;
社
区
成
员
的
内
推
资
源
;
...
我
们
希
望
你
符
合
以
下
条
件
:
对
技
术有极
⾼
的
热
情
,且
⾃
主
学
习
能
⼒
强
;
合
作
沟
通
能
⼒
强
;
有
⼀
定
的
技
术
基
础
,不
能
⼀
问
三不
知
,
最
好
是有
⼀两
年
⼯
作
经
验
以
上;
时
间
上
⽐
较
充
裕
,
加
班
少
的
优
先
,
因
为
社
区
有
很
多
活
动
,
希
望
能
够
活
跃
参
与;
成
都
市
的
优
先
,
能
够
参
与
社
区
的
线
下
活
动
。
RedSpider
技
术
社
区
处
于
⼀个
新
的
起
点
,
期
待
你
的
加⼊
。
交
流
群
社
区
创
建
了
微
信
群
,
欢
迎
⼴
⼤
读
者
及
对
技
术
感
兴
趣
的
朋
友
加⼊
交
流
群
:
请
先加
微
信
号
:
redspider-worker
,
备
注
“RedSpider
技
术
社
区
交
流
群
申
请
”
,
我
们
会
尽
快
通过
并
拉
你
进
群
哦
。
1
进
程
与
线
程
基
本
概
念
4
作
者
介
绍
灵
鹤
⽑⽑
⾍
潘
帕
斯
雄
鹰
萤
⽕
⾍
啄
⽊
⻦
作
者
介
绍
本
书
由
五位作
者
(
均
为
RedSpider
社
区
成
员
)
共
同
撰
写
。
他们
均
参
与
了
初
稿
编
写
、
⽂
章
修
订
等
⼯
作
。
下
⾯
分别
是
五位作
者
的
简
介
(
以
拼
⾳
排
序
):
灵
鹤
招
银
⽹络
科
技
⾼
级
开
发
⼯
程
师
,
拥
有
国
外⼤
型
企
业
⾼
并
发
项
⽬
经
验
,
熟
悉
敏捷
流
程
开
发及
持
续
集
成
,
热爱
开
源
,
喜
欢
分
享
,
对
于
写
作
始
终
保
持
严
谨
的
态度
。
⽑⽑
⾍
⾼
级
Java
开
发
⼯
程
师
,
⻓
期
⼯
作
在
华
为
⼀
线
,专
注
Java
技
术
体
系
,
熟
悉
微
服
务
及
⼤
数据
领
域
。
拥
有
⼤
数据
项
⽬
开
发
经
验
和
运
维经
验
、
丰
富
的
企
业
级
项
⽬
开
发
经
验
。
热
爱
开
源
,
乐于
分
享
。
⽬
前
专
注
于
微
服
务
,
JVM
,
⼤
数据
⽣
态
系统
。
潘
帕
斯
雄
鹰
阿
⾥
巴巴
⾼
级
Java
开
发
⼯
程
师
,
⻓
期
位于
Java
开
发
⼀
线
,
拥
有
丰
富
的
⼤
型
企
业
级
项
⽬
开
发
经
验
,
熟
悉
敏捷
开
发
流
程
。
热
衷
于
探
索
未
知
,
⽬
前
专
注
于
Java
⾼
并
发
,
JVM
。
萤
⽕
⾍
阿
⾥
巴巴
⾼
级
Java
开
发
⼯
程
师
,
熟
悉
微
服
务
及
DevOps
领
域
,
拥
有
⼤
型国
际
⾼
并
发
项
⽬的
开
发
经
验
和
运
维经
验
。
对
新
技
术有
强
烈
的
好奇
⼼
,
热爱
钻
研
技
术
深
度
,
⾃
我
驱
动
能
⼒
和
学
习
能
⼒
较
强
。
熟
悉
敏捷
实
践
。
热爱
开
源
和
分
享
,
具
有
丰
富
的
演
讲
经
验
和
写
作
经
验
。
啄
⽊
⻦
Java
⾼
级
开
发
⼯
程
师
,
拥
有
国
内
外
分
布
式
架构
⾼
并
发
项
⽬
开
发
经
验
,
主
要
从事
微
服
务
架构
下
API
设计
与
开
发
。
对
于
敏捷
实
践
与
持
续
集
成
/
交付
有
丰
富
经
验
。
拥抱
开
源
,
善
于
钻
研
技
术
难
点
。
热爱
与
⼈
沟
通
,
有
丰
富
的
培
训
团
队
和
新
⼈
经
验
。
1
进
程
与
线
程
基
本
概
念
5
⽂
章
地址
深
⼊
浅
出
Java
多
线
程
【
GithubBook
】
深
⼊
浅
出
Java
多
线
程
本
地
运
⾏
先
安
装
gitbook
npm install gitbook-cli -g
然
后
安
装
gitbook
插
件
gitbook install
运
⾏
服
务
gitbook serve .
然
后
就
可
以
在
本
地
http://localhost:4000
访
问
了
。
本
书
简
介
笔
者
在
读
完市
⾯
上
关
于
Java
并
发
编
程
的
资
料
后
,
感
觉
有
些
知
识
点
不
是
很
清
晰
,
于
是
在
RedSpider
社
区
内
展
开
了
对
Java
并
发
编
程
原
理
的
讨论
。
鉴
于
开
源
精
神
,
我
们
决
定
将
我
们
讨论
之
后
的
Java
并
发
编
程
原
理
整
理
成
书
籍
,
分
享
给
⼤
家
。
站
在
巨
⼈
的
肩
上,
我
们
可
以
看
得
更
远
。
本
书
内
容
的
主
要
来
源
有
博
客
、
书
籍
、
论
⽂
,
对
于
⼀
些
已
经
叙
述
得很
清
晰
的知
识
点
我
们
直
接
引
⽤
在
本
书中
;
对
于
⼀
些
没
有
讲解
清
楚
的知
识
点
,
我
们
加
以
画
图
或
者
编
写
Demo
进
⾏
加
⼯
;
⽽
对
于
⼀
些
模棱
两
可
的知
识
点
,
本
书
在
查
阅
了
⼤
量
资
料
的
情
况
下,
给
出
最
合
理
的
解
释
。
写
本
书
的
过
程
也
是
对
⾃
⼰
研
究
和
掌握
的
技
术
点
进
⾏
整
理
的
过
程
,
希
望本
书
能
帮
助
读
者
快
速
掌握
并
发
编
程
技
术
。
如
果
您或
者
您
的
单
位
愿意
赞
助
本
书
或
本
社
区
,
请
发
送邮
件
到
RedSpider
社
区
邮
件
组
redspider@qun.mail.163.com
或
加
微
信
redspider-worker
进
⾏
洽
谈
。
勘
误
和
⽀
持
由
于
笔
者
的
⽔
平
有
限
,
编
写
时
间
仓促
,
书中
难
免
会
出
现
⼀
些
错
误
或
者
不
准
确的
地
⽅
,
恳
请读
者
批
评
指
正
。
如
果
你
有更
多
的
宝
贵
意
⻅
,
可
以
在
我
们
的
github
上
新
建
issue
,
笔
者
会
尽
快
解
答
,
期
待
能
够
得
到
你
的真
挚
反
馈
。
github
地址
:
https://github.com/RedSpider1/concurrent