Java 9并发编程实战pdf

图书网 2021年8月9日20:23:57
评论
1.4K

Java 9并发编程实战 作者:[西班牙] 哈维尔·费尔南德兹·冈萨雷斯(Javier Fernández González)

Java 9并发编程实战 出版社:人民邮电出版社

Java 9并发编程实战 内容简介

《Java 9并发编程实战》紧紧围绕Java 9并发类库和机制,由浅入深地讲解了Java 9并发编程的知识,并以案例的形式展现如何在真实需求中使用这些类库。

《Java 9并发编程实战》共11章。第1章到第4章主要介绍线程管理、Java同步代码的基本机制、线程间同步的工具、线程执行器等内容;第5章介绍fork/join框架的用法;第6章介绍流的相关知识以及Java 9中用来实现反应式流的接口;第7章到第9章介绍如何使用Java提供的并发数据结构,以及如何根据需要扩展Java并发API中常用的类等内容;第10章和第11章就一些概念和开发注意事项进行拓展,包括并发数据、监控并发对象等内容。

《Java 9并发编程实战》给出了完整的案例开发步骤和代码,可以让读者直面程序运行过程,剖析原理、体会细节,适合对Java编程感兴趣的读者阅读。

Java 9并发编程实战 目录

第1章 线程管理

1.1 简介

1.2 线程的创建、运行和设置

1.3 线程中断

1.4 控制线程中断

1.5 线程的休眠和唤醒

1.6 等待线程执行结束

1.7 守护线程的创建与运行

1.8 处理线程中的不可控异常

1.9 使用线程本地变量

1.10 线程分组及线程组中不可控异常的处理

1.11 使用工厂创建线程

第2章 线程同步基础

2.1 简介

2.2 方法同步

2.3 在同步代码块中使用条件

2.4 在同步代码块中使用锁机制

2.5 用读/写锁保护同步代码块

2.6 在一个锁中使用多个条件

2.7 高阶知识:StampedLock的使用

第3章 线程同步工具

3.1 简介

3.2 控制对资源的一个或多个副本的并发访问

3.3 等待多个并发事件

3.4 在指定状态点同步任务

3.5 运行阶段性并发任务

3.6 阶段性并发任务中阶段转变的控制

3.7 两个并发任务间的数据交换

3.8 异步地完成和关联任务

第4章 线程执行器

4.1 简介

4.2 创建一个线程执行器并实现其拒绝策略

4.3 在一个执行器里执行任务并返回结果

4.4 运行多个任务并处理第一个返回结果

4.5 运行多个任务并处理全部返回结果

4.6 在执行器内延迟运行任务

4.7 在执行器内周期性地运行任务

4.8 在执行器内取消任务

4.9 在执行器内控制任务的完成

4.10 在执行器内分离任务的启动并处理返回结果

第5章 fork/join框架

5.1 简介

5.2 创建一个fork/join池

5.3 合并任务的执行结果

5.4 异步地运行任务

5.5 在任务中抛出异常

5.6 取消一个任务

第6章 并行反应式流

6.1 简介

6.2 使用不同的源创建流

6.3 归约一个流的元素

6.4 收集流中的元素

6.5 把一个动作应用到流的每个元素上

6.6 过滤流中的元素

6.7 转换流中的元素

6.8 排序流中的元素

6.9 在流中的元素上验证条件

6.10 在反应式流上反应式编程

第7章 并发集合

7.1 简介

7.2 运用非阻塞线程安全的双端队列

7.3 运用阻塞线程安全的双端队列

7.4 运用按优先级排序的阻塞线程安全队列

7.5 运用带延迟元素的线程安全列表

7.6 运用线程安全的navigable map

7.7 运用线程安全的HashMap

7.8 运用原子性变量

7.9 运用原子性数组

7.10 运用volatile关键字

7.11 运用变量句柄

第8章 自定义并发类

8.1 简介

8.2 自定义ThreadPoolExecutor类

8.3 实现一个基于优先级的_Executor_类

8.4 实现_ThreadFactory_接口来生成自定义线程

8.5 在一个_Executor_对象中使用_ThreadFactory_

8.6 自定义在一个周期调度性线程池中运行的任务

8.7 实现一个_ThreadFactory_以生成fork/join框架的自定义线程

8.8 自定义运行于fork/join框架中的任务

8.9 实现一个自定义_Lock_类

8.10 实现一个基于优先级的传递队列

8.11 实现自己的原子性对象

8.12 实现自己的流生成器

8.13 实现自己的异步流

第9章 并发程序的测试

9.1 简介

9.2 监测Lock接口

9.3 监测Phaser类

9.4 监测Executor框架

9.5 监测fork/join任务池

9.6 监测流

9.7 输出有效日志信息

9.8 利用FindBugs分析并发程序代码

9.9 使用Eclipse调试并发程序代码

9.10 使用NetBeans调试并发程序代码

9.11 使用MultithreadedTC调试并发程序代码

9.12 使用JConsole监测

第10章 附加信息

10.1 简介

10.2 在Executor框架中处理Runnable对象的结果

10.3 在ForkJoinPool类中处理未控制的异常

10.4 使用线程安全的阻塞队列在生产者和消费者之间进行交互

10.5 监测Thread类

10.6 监测Semaphore类

10.7 生成并发随机数

第11章 并发编程设计

11.1 简介

11.2 尽可能使用不可变对象

11.3 对锁排序以避免死锁

11.4 使用原子变量替代同步

11.5 尽可能短地持有锁

11.6 委托执行器管理线程

11.7 使用并发数据结构替代手动编程

11.8 使用延迟初始化预防问题

11.9 使用fork/join框架替代执行器

11.10 避免在锁中使用阻塞操作

11.11 避免使用已弃用的方法

11.12 使用执行器替代线程组

11.13 使用流处理大数据集

11.14 其他提示和技巧

Java 9并发编程实战 精彩文摘

在计算机世界中,并发是指一系列相互无关的任务在一台计算机上同时运行。对于有多个处理器或者多核处理器的计算机来说,这个同时性是真实发生的。然而,对于只有单核处理器的计算机来说,它仅仅是表面现象。

所有现代操作系统均支持并发地执行任务。用户可以在听音乐或者浏览网页的同时阅读邮件。这种并发是进程级别的并发。在同一进程内,也可以有多种同时运行的子任务,我们将这些并发的子任务称为线程。与并发性有关的另一个概念是并行性(parallelism)。虽然它与并发性的概念不同,但是有一定联系。一些学者认为,当多线程应用程序运行在单核处理器上时,程序就是并发运行的;当多线程应用程序运行在多个处理器或者多核处理器上时,程序就是并行运行的。还有一些学者认为,多线程应用程序的线程执行顺序若不是预先定义的,程序就是并发运行的;如果多线程应用程序的线程按照指定顺序执行,那么这个程序就是并行运行的。

本章介绍了如何使用Java 9 API来进行基本的线程操作,包括创建和运行线程、处理线程内抛出的异常、将线程分组,并将分组作为一个整体处理组内的线程。

图书网:Java 9并发编程实战pdf

继续阅读

→→→→→→→→→→→→→→→→→→→→查找获取

数学

吴军:你最喜欢的数字是什么?《数学之美》PDF

数学之美 作者:吴军 数学之美 出版:人民邮电出版社 数学之美 内容简介 你最喜欢的数字是什么?几年前,“数学之美”系列文章原刊载于谷歌黑板报,获得上百万次点击,得到读者高度评价。读者说,读了“数学之...
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: