内容简介
第1部分 线程API
第1章 Thread和Runnable
1.1 Thread和Runnable简介
1.1.1 创建Thread和Runnable对象
1.1.2 获取和设置线程状态
1.1.3 启动线程
1.2 操作更高级的线程任务
1.2.1 中断线程
1.2.2 等待线程
1.2.3 线程睡眠
1.3 练习
1.4 小结
第2章 同步
2.1 线程中的问题
2.1.1 竞态条件
2.1.2 数据竞争
2.1.3 缓存变量
2.2 同步临界区的访问
2.2.1 使用同步方法
2.2.2 使用同步块
2.3 谨防活跃性问题
2.4 volatile和final变量
2.5 练习
2.6 小结
第3章 等待和通知
3.1 等待/通知API一览
3.2 生产者和消费者
3.3 练习
3.4 小结
第4章 额外的线程能力
4.1 线程组
4.2 线程局部变量
4.3 定时器框架
4.3.1 深入Timer
4.3.2 深入TimerTask
4.4 练习
4.5 小结
第2部分 并发工具类
第5章 并发工具类和Executor框架
5.1 并发工具类简介
5.2 探索Executor
5.3 练习
5.4 小结
第6章 同步器
6.1 倒计时门闩
6.2 同步屏障
6.3 交换器
6.4 信号量
6.5 信号量和公平策略
6.6 Phaser
6.7 练习
6.8 小结
第7章 锁框架
7.1 锁
7.2 重入锁
7.3 条件
7.4 读写锁
7.5 重入读写锁
7.6 练习
7.7 小结
第8章 额外的并发工具类
8.1 并发集合
8.1.1 使用BlockingQueue和ArrayBlockingQueue
8.1.2 深入学习ConcurrentHashMap
8.2 原子变量
8.3 Fork/Join框架
8.4 Completion Service
8.5 练习
8.6 小结
第3部分 附录
附录A 练习题答案
附录B Swing中的线程
B.1 单线程编程模型
B.2 线程化API
B.2.1 SwingUtilities和EventQueue
B.2.2 SwingWorker
B.2.3 定时器
B.3 基于定时器的幻灯片展示