为你推荐

前折页
内容简介
推荐语
前言
基础篇
第1章 进程与线程的基本概述
1.1 进程
1.1.1 进程的基本概念及构成
1.1.2 进程的三态模型、五态模型和七态模型
1.2 线程
1.2.1 线程的基本概念及构成
1.2.2 线程的生命周期
1.3 线程调度与上下文切换
1.3.1 时间片
1.3.2 线程调度
1.3.3 上下文切换
1.4 进程与线程的综合对比
1.5 查看进程与线程
1.5.1 编写测试程序
1.5.2 查看进程与线程的方式
第2章 线程的基本操作
2.1 创建线程
2.1.1 继承Thread类
2.1.2 实现Runnable接口
2.1.3 实现Callable接口
2.1.4 FutureTask配合Thread
2.1.5 使用线程池
2.2 线程的基本操作
2.2.1 线程设置
2.2.2 线程操作
2.3 线程组
2.3.1 线程关联线程组
2.3.2 线程组自动归属
2.3.3 顶级线程组
2.3.4 向线程组里添加线程组
2.3.5 获取线程组内的对象
2.3.6 批量中断线程组内的线程
核心工具篇
第3章 同步集合
3.1 Vector同步集合类及案例
3.2 Stack同步集合类及案例
3.3 Hashtable同步集合类及案例
3.4 同步包装器及测试
3.5 同步集合的缺陷
第4章 并发List集合类
4.1 CopyOnWriteArrayList概述
4.2 写时复制技术
4.3 初始化
4.4 添加数据
4.5 读取数据
4.6 修改数据
4.7 删除数据
4.8 遍历数据
4.9 使用案例
第5章 并发Set集合类
5.1 CopyOnWriteArraySet集合类
5.1.1 概述
5.1.2 初始化
5.1.3 添加数据
5.1.4 删除数据
5.1.5 遍历数据
5.1.6 使用案例
5.2 ConcurrentSkipListSet集合类
5.2.1 概述
5.2.2 跳表
5.2.3 初始化
5.2.4 添加数据
5.2.5 删除数据
5.2.6 遍历数据
5.2.7 关系运算
5.2.8 有序集合操作
5.2.9 使用案例
第6章 并发Map集合类
6.1 ConcurrentHashMap集合类
6.1.1 概述
6.1.2 结构
6.1.3 成员变量
6.1.4 内部类
6.1.5 构造方法
6.1.6 初始化
6.1.7 扩容
6.1.8 再谈sizeCtl成员变量
6.1.9 添加数据
6.1.10 读取数据
6.1.11 修改数据
6.1.12 删除数据
6.1.13 遍历数据
6.1.14 使用案例
6.2 ConcurrentSkipListMap集合类
6.2.1 概述
6.2.2 内部类
6.2.3 初始化
6.2.4 添加数据
6.2.5 读取数据
6.2.6 修改数据
6.2.7 删除数据
6.2.8 遍历数据
6.2.9 使用案例
第7章 并发阻塞队列
7.1 并发阻塞队列简介
7.1.1 概述
7.1.2 类继承关系
7.1.3 常用方法
7.2 ArrayBlockingQueue
7.2.1 概述
7.2.2 核心成员变量
7.2.3 初始化
7.2.4 添加数据
7.2.5 删除数据
7.2.6 获取数据
7.3 LinkedBlockingQueue
7.3.1 概述
7.3.2 核心成员变量
7.3.3 初始化
7.3.4 添加数据
7.3.5 删除数据
7.3.6 获取数据
7.4 PriorityBlockingQueue
7.4.1 概述
7.4.2 核心成员变量
7.4.3 初始化
7.4.4 添加数据
7.4.5 删除数据
7.4.6 获取数据
7.5 DelayQueue
7.5.1 概述
7.5.2 核心成员变量
7.5.3 初始化
7.5.4 添加数据
7.5.5 删除数据
7.5.6 获取数据
7.6 SynchronousQueue
7.6.1 概述
7.6.2 重要常量与内部类
7.6.3 初始化
7.6.4 添加数据
7.6.5 删除数据
7.6.6 不支持的方法
7.7 LinkedTransferQueue
7.7.1 概述
7.7.2 重要常量与成员变量
7.7.3 重要内部类
7.7.4 初始化
7.7.5 添加数据
7.7.6 删除数据
7.7.7 获取数据
7.7.8 新增方法
7.8 LinkedBlockingDeque
7.8.1 概述
7.8.2 核心成员变量
7.8.3 重要内部类
7.8.4 初始化
7.8.5 添加数据
7.8.6 删除数据
7.8.7 获取数据
7.9 并发阻塞队列案例
7.9.1 生产者与消费者模型
7.9.2 按周期执行的定时任务
第8章 并发非阻塞队列
8.1 并发非阻塞队列简介
8.1.1 概述
8.1.2 类继承关系
8.1.3 常用方法
8.1.4 并发非阻塞队列与并发阻塞队列的区别
8.2 ConcurrentLinkedQueue
8.2.1 概述
8.2.2 核心成员变量
8.2.3 重要内部类
8.2.4 初始化
8.2.5 添加数据
8.2.6 删除数据
8.2.7 获取数据
8.2.8 性能对比案例
8.3 ConcurrentLinkedDeque
8.3.1 概述
8.3.2 核心成员变量
8.3.3 重要内部类
8.3.4 初始化
8.3.5 添加数据
8.3.6 删除数据
8.3.7 获取数据
8.3.8 性能对比案例
第9章 并发工具类
9.1 CountDownLatch工具类
9.1.1 概述及重要方法说明
9.1.2 使用案例
9.2 CyclicBarrier工具类
9.2.1 概述及重要方法说明
9.2.2 使用案例
9.3 Phaser工具类
9.3.1 概述及重要方法说明
9.3.2 使用案例
9.4 Semaphore工具类
9.4.1 概述及重要方法说明
9.4.2 使用案例
9.5 Exchanger工具类
9.5.1 概述及重要方法说明
9.5.2 使用案例
第10章 锁工具类
10.1 Lock接口
10.1.1 概述及核心方法
10.1.2 使用案例
10.2 Condition接口
10.2.1 概述及核心方法
10.2.2 使用案例
10.3 ReentrantLock可重入锁
10.3.1 概述及核心方法
10.3.2 使用案例
10.4 ReadWriteLock读写锁
10.4.1 概述及核心方法
10.4.2 使用案例
10.5 StampedLock读写锁
10.5.1 概述及核心方法
10.5.2 StampedLock使用案例
10.6 锁性能对比案例
10.6.1 案例需求
10.6.2 案例实现
10.6.3 案例测试
第11章 无锁原子类
11.1 无锁原子类概述及分类
11.2 操作基本类型的原子类
11.2.1 概述
11.2.2 AtomicInteger类核心方法解析
11.3 操作引用类型的原子类
11.3.1 概述
11.3.2 AtomicReference类核心方法解析
11.4 操作字段类型的原子类
11.4.1 概述
11.4.2 AtomicReferenceFieldUpdater类核心方法解析
11.5 操作数组类型的原子类
11.5.1 概述
11.5.2 AtomicLongArray类核心方法解析
11.6 累加器类型的原子类
11.6.1 概述
11.6.2 LongAdder类核心方法解析
11.7 性能对比案例
11.7.1 锁与基本类型原子类性能对比案例
11.7.2 锁与引用类型原子类性能对比案例
11.7.3 锁与字段类型原子类性能对比案例
11.7.4 AtomicLong与LongAdder性能对比案例
第12章 线程工具类
12.1 Thread类
12.1.1 继承关系
12.1.2 定义
12.1.3 核心代码解析
12.2 ThreadLocal类
12.3 Fork/Join框架
12.3.1 概述
12.3.2 核心类
12.4 线程工具类案例
12.4.1 Thread类线程中断案例
12.4.2 Fork/Join框架分组合并案例
第13章 异步编程工具类
13.1 Callable接口
13.1.1 概述
13.1.2 PrivilegedCallable实现类
13.1.3 PrivilegedCallableUsingCurrentClassLoader实现类
13.1.4 RunnableAdapter实现类
13.1.5 TaskCallable实现类
13.2 异步编程接口
13.2.1 两种异步模型
13.2.2 Future接口
13.2.3 RunnableFuture接口
13.2.4 FutureTask类
13.3 CompletableFuture类
13.3.1 概述
13.3.2 初始化
13.3.3 串行执行任务
13.3.4 并行执行任务
13.3.5 AND聚合任务
13.3.6 OR聚合任务
13.3.7 处理结果
13.3.8 使用案例
13.4 CompletionService
13.4.1 概述
13.4.2 接口定义
13.4.3 ExecutorCompletionService类的核心实现
13.4.4 使用案例
线程池核心技术篇
第14章 线程池总体结构
14.1 线程池简介
14.1.1 线程池核心类继承关系
14.1.2 线程池的优点
14.1.3 Executors类
14.1.4 ThreadPoolExecutor类
14.2 线程池顶层接口和抽象类
14.2.1 接口和抽象类总览
14.2.2 Executor接口
14.2.3 ExecutorService接口
14.2.4 AbstractExecutorService抽象类
14.2.5 ScheduledExecutorService接口
第15章 线程池核心流程
15.1 线程池正确运行的核心流程
15.1.1 ThreadPoolExecutor类的重要属性
15.1.2 ThreadPoolExecutor类的重要内部类
15.2 线程池执行任务的核心流程
15.2.1 核心流程概述
15.2.2 execute()方法解析
15.2.3 addWorker()方法解析
15.2.4 addWorkerFailed()方法解析
15.2.5 拒绝策略执行流程
15.3 Worker线程的核心流程
15.3.1 Worker线程的核心流程概述
15.3.2 runWorker()方法解析
15.3.3 getTask()方法解析
15.3.4 beforeExecute()方法解析
15.3.5 afterExecute()方法解析
15.3.6 processWorkerExit()方法解析
15.3.7 tryTerminate()方法解析
15.3.8 terminated()方法解析
15.4 线程池优雅退出的核心流程
15.4.1 shutdown()方法解析
15.4.2 shutdownNow()方法解析
15.4.3 awaitTermination()方法解析
第16章 定时任务线程池
16.1 ScheduledThreadPoolExecutor类与Timer类的区别
16.1.1 线程实现的区别
16.1.2 系统时间的区别
16.1.3 处理异常的区别
16.1.4 任务编排的区别
16.1.5 任务优先级的区别
16.1.6 返回结果的区别
16.2 定时任务线程池的初始化
16.3 定时任务线程池的调度流程
16.3.1 schedule()方法解析
16.3.2 decorateTask()方法解析
16.3.3 scheduleAtFixedRate()方法解析
16.3.4 scheduleWithFixedDelay()方法解析
16.3.5 riggerTime()方法解析
16.3.6 overflowFree()方法解析
16.3.7 delayedExecute()方法解析
16.3.8 reExecutePeriodic()方法解析
16.4 定时任务线程池优雅关闭流程
后折页
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜