扫描二维码,下载手机APP
下载安卓APP箭头
客服QQ
箭头给我发消息

客服QQ:2698585038

Java并行程序设计 高等学校计算机专业规划教材

综合评级:
★★★★★

定价:
¥29.00

作者:
张杨 编著

出版社:
清华大学出版社

出版日期:
2015年3月

页数:
207

字数:
315000

ISBN:
9787302392309

书籍介绍

本书以Java程序设计语言为基础,对并行程序设计的相关概念、基本原理和基本方法进行了介绍,具体涉及线程定义、线程同步、线程障栅、线程间通信、执行器、Fork/Join框架和自定义的并发类等内容。本书在讲解基本知识的同时,大量使用实例进行演示,演示采用“提出问题、分析问题、代码演示、执行结果、分析结果、相关讨论”的思路,力求做到明白透彻。 本书内容先进、知识结构合理、讲解详尽、例题丰富、深入浅出,适合普通高校、实践和工程类院校学生在学习高性能程序设计时选用,是高等院校学生和IT领域在职人员学习Java高级编程技术的理想教材和工具书,也可供那些需要高性能计算技术的人员参考。本书封面贴有清华大学出版社防伪标签,无标签者不得销售。

目录

第1章 绪论

1.1 概述

1.2 相关概念和术语

1.2.1 并发与并行

1.2.2 串行执行和顺序执行

1.2.3 线程安全与线程不安全

1.2.4 数据竞争

1.2.5 超线程

1.2.6 加速比

1.3 java并发方面的特性

1.4 并发程序设计的方法

1.4.1 分治方法

1.4.2 流水线

1.4.3 消息传递

1.5 并行程序的评判标准

1.6 程序运行的相关问题说明

习题

第2章 线程

2.1 什么是线程

2.2 线程的状态

2.2.1 创建

2.2.2 就绪

2.2.3 运行

2.2.4 阻塞

2.2.5 终止

2.3 线程的创建

2.3.1 继承类Thread

2.3.2 实现Runnable接口

2.3.3 两种方法的比较

2.4 线程的属性

2.4.1 线程标识符

2.4.2 线程名

2.4.3 线程的优先级和调度

2.4.4 线程状态

2.4.5 守护线程

2.5 线程管理

2.5.1 join方法

2.5.2 sleep方法

2.5.3 yield方法

2.5.4 线程的中断

2.5.5 其他

2.6 线程分组

2.7 带返回值的线程

2.7.1 接口Callable

2.7.2 接口Future

2.7.3 Callable与Runnable的比较

习题

第3章 线程同步

3.1 概述

3.2 基本概念

3.2.1 临界区

3.2.2 监视器

3.2.3 阻塞和非阻塞

3.3 锁

3.3.1 同步锁

3.3.2 可重入锁

3.3.3 读写锁

3.3.4 三种锁机制的比较

3.3.5 锁的不足之处

3.4 volatile变量

3.5 原子操作

3.5.1 AtomicInteger

3.5.2 AtomicReference

3.5.3 其他

3.6 死锁和活锁

3.6.1 死锁

3.6.2 活锁

3.7 多核时代减少锁竞争的方法

习题

第4章 线程间通信

4.1 等待集合

4.2 wait、notify、notifyAll方法

4.2.1 方法wait

4.2.2 方法notify

4.2.3 方法notifyAll

4.2.4 实例

4.3 条件变量

4.3.1 方法await

4.3.2 方法signal

4.3.3 方法signalAll

4.3.4 实例

习题

第5章 线程同步障栅

5.1 障栅

5.2 倒计时门闩

5.3 信号量

5.4 同步队列

5.5 交换器

5.6 阶段化处理

习题

第6章 线程执行器

6.1 线程池

6.1.1 接口Executor

6.1.2 接口ExecutorService

6.1.3 类ThreadPoolExecutor

6.1.4 工厂类Executors

6.1.5 使用线程执行器处理无返回值的线程

6.2 固定数目的线程执行器

6.3 使用线程执行器处理有返回值的线程

6.4 延迟执行、周期性执行的执行器

6.4.1 接口ScheduledExecutorService

6.4.2 接口ScheduledFuture

6.4.3 举例

6.5 取消任务的执行

6.6 任务装载和结果处理的分离

6.7 管理被拒绝的任务

第7章 ForkJoin框架

7.1 概述

7.2 相关知识

7.2.1 负载均衡

7.2.2 分治方法

7.2.3 工作窃取算法

7.3 ForkJoin框架的编程模式

7.4 类ForkJo

7.4.1 ForkJoinPool的创建

7.4.2 ForkJoinPool的使用

7.5 任务

7.5.1 任务的创建

7.5.2 任务的运行方式

7.5.3 任务的取消

7.6 ForkJoin框架的限制

习题

第8章 自定义并发类

8.1 自定义线程工厂

8.2 自定义线程池

8.3 在执行器中使用自定义的线程工厂

8.4 自定义周期性任务

8.5 自定义与ForkJoin框架相关的并发类

8.5.1 类ForkJoinWorkerThread

8.5.2 接口ForkJoinPool.ForkJoinWorkerThreadFactory

8.5.3 自定义ForkJoin框架中的线程

8.5.4 自定义任务

8.6 自定义同步类

8.6.1 自定义锁

8.6.2 自定义原子操作

习题

第9章 线程安全的集合

9.1 线程安全的双端队列

9.2 线程安全的哈希表

9.3 线程安全的跳表

9.4 随机数产生

第10章 多线程程序的性能和测试

10.1 性能

10.2 可伸缩性

10.3 多线程程序的测试

第11章 面向方面编程在并行程序设计中的应用

11.1 面向方面编程相关知识简介

11.1.1 关注点的分离

11.1.2 方面

11.1.3 切点

11.1.4 通知

11.1.5 AspectJ工具

11.2 Java注释接口

11.3 应用示例

习题