• Java多线程编程核心技术(第3版)
  • Java多线程编程核心技术(第3版)
  • Java多线程编程核心技术(第3版)
  • Java多线程编程核心技术(第3版)
  • Java多线程编程核心技术(第3版)
21年品牌 40万+商家 超1.5亿件商品

Java多线程编程核心技术(第3版)

65 5.0折 129 九品

仅1件

北京通州
认证卖家担保交易快速发货售后保障

作者高洪岩

出版社机械工业出版社

出版时间2021-12

版次3

装帧其他

货号18-2

上书时间2024-05-12

聆听阁

已实名 进店 收藏店铺

   商品详情   

品相描述:九品
图书标准信息
  • 作者 高洪岩
  • 出版社 机械工业出版社
  • 出版时间 2021-12
  • 版次 3
  • ISBN 9787111698586
  • 定价 129.00元
  • 装帧 其他
  • 开本 16开
  • 纸张 胶版纸
  • 字数 234千字
【内容简介】
本书作为讲解Java多线程技术的教程,主要介绍非常核心并常用的技术点,比如解决线程Thread的停止,线程对象Thread的暂停,线程的优先级,synchronized关键字的使用,以及使用它解决非线程安全的问题。使用volatile关键字解决变量可见性问题,使用wait()及notify()方法实现等待通知模式,还有使用ThreadLocal类进行隔离变量,Lock锁对象的使用,包含Condition类实现生产者-消费者模式,深入讲解了Condition类在使用上的细节。还包括对Lock锁对象中的常见API进行细化讲解,ReentrantReadWriteLock读写锁的使用等,Timer定时器类的使用。多线程实现单例模式时完整的解决步骤,以及多线程异常的处理等常见Java多线程解决方案。并发集合框架的使用,以及线程池技术点的使用。
【目录】
前 言

第1章 Java多线程技能  1

1.1 进程和线程的定义及多线程的优点  1

1.2 使用多线程  5

1.2.1 继承Thread类  6

1.2.2 使用常见的3个命令分析线程的信息  8

1.2.3 线程随机性的展现  10

1.2.4 执行start()的顺序不代表执行run()的顺序  12

1.2.5 实现Runnable接口  14

1.2.6 使用Runnable接口实现多线程的优点  15

1.2.7 public Thread(Runnable target)中的target参数  16

1.2.8 实例变量共享导致的“非线程安全”问题与相应的解决方案  18

1.2.9 Servlet技术也会引起“非线程安全”问题  22

1.2.10 留意i--与System.out.println()出现的“非线程安全”问题  25

1.2.11 方法run()被JVM所调用  27

1.3 方法currentThread()  27

1.4 方法isAlive()  30

1.5 方法sleep(long millis)  33

1.6 方法sleep(long millis, int nanos)  34

1.7 方法StackTraceElement[] getStack-Trace()  35

1.8 方法static void dumpStack()  36

1.9 方法Map getAllStackTraces()  37

1.10 方法getId()  39

1.11 停止线程  40

1.11.1 停止不了的线程  41

1.11.2 判断线程是不是停止状态  42

1.11.3 清除中断状态的使用场景  44

1.11.4 能停止的线程—异常法  48

1.11.5 在sleep状态下停止  51

1.11.6 使用stop()暴力停止线程  53

1.11.7 方法stop()与java.lang.Thread-Death异常  55

1.11.8 使用stop()释放锁导致数据结果不一致  57

1.11.9 使用return;语句停止线程的缺点及相应的解决方案  59

1.12 暂停线程  61

1.12.1 方法suspend()与resume()的使用  62

1.12.2 方法suspend()与resume()的缺点—独占  63

1.12.3 方法suspend()与resume()的缺点—数据不完整  66

1.12.4 使用LockSupport类实现线程暂停与恢复  67

1.13 方法yield()  69

1.14 线程的优先级  70

1.14.1 线程优先级的继承特性  71

1.14.2 线程优先级的规律性  72

1.14.3 线程优先级的随机性  75

1.14.4 看谁跑得快  76

1.15 守护线程  78

1.16 并发与并行  79

1.17 同步与异步  80

1.18 多核CPU不一定比单核CPU运行快  81

1.19 本章小结  82

第2章 对象及变量的并发访问  83

2.1 synchronized同步方法  83

2.1.1 方法内的变量是线程安全的  83

2.1.2 实例变量“非线程安全”问题及解决方案  85

2.1.3 同步synchronized在字节码指令中的原理  88

2.1.4 多个对象多个锁  90

2.1.5 synchronized方法将对象作为锁  92

2.1.6 脏读与解决  97

2.1.7 synchronized锁重入  99

2.1.8 继承环境下的锁重入  100

2.1.9 出现异常,锁自动释放  102

2.1.10 非同步方法?:不使用synchronized重写方法  104

2.2 synchronized同步语句块  106

2.2.1 synchronized方法的弊端  106

2.2.2 synchronized同步代码块的使用  109

2.2.3 用同步代码块解决同步方法的弊端  111

2.2.4 一半异步,一半同步  112

2.2.5 synchronized代码块间的同步性  114

2.2.6 方法println()也是同步的  116

2.2.7 验证synchronized(this)同步代码块是锁定当前对象的  117

2.2.8 将任意对象作为锁  119

2.2.9 多个锁就是异步执行  121

2.2.10 验证方法被调用是随机的  124

2.2.11 不同步导致的逻辑错误与解决方案  125

2.2.12 细化验证3个结论  129

2.2.13 类对象的单例性  134

2.2.14 静态同步?:synchronized方法与synchronized(class)代码块  135

2.2.15 同步synchronized方法可以对类的所有对象实例起作用  139

2.2.16 同步synchronized(class)代码块可以对类的所有对象实例起作用  141

2.2.17 String常量池特性与同步问题  143

2.2.18 synchronized方法无限等待问题与解决方案  146

2.2.19 多线程的死锁  148

2.2.20 内置类与静态内置类  150

2.2.21 内置类与同步?:实验1  153

2.2.22 内置类与同步?:实验2  155

2.2.23 锁对象改变导致异步执行  156

2.2.24 锁对象不改变依然是同步执行  159

2.2.25 同步写法案例比较  161

2.2.26 方法holdsLock(Object obj)的使用  161

2.2.27 临界区  162

2.3 volatile关键字  162

2.3.1 可见性的测试  163

2.3.2 原子性与非原子性的测试  171

2.3.3 禁止代码重排序的测试  179

2.4 本章小结  190

第3章 线程间通信  191

3.1 wait/ notify机制  191

3.1.1 不使用wait/notify机制进行通信的缺点  191

3.1.2 什么是wait/notify机制  194

3.1.3 wait/notify机制的原理  194

3.1.4 方法wait()的基本用法  195

3.1.5 使用代码完整实现wait /notify机制  196

3.1.6 使用wait/notify机制实现线程
点击展开 点击收起

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP