由于此商品库存有限,请在下单后15分钟之内支付完成,手慢无哦!
100%刮中券,最高50元无敌券,券有效期7天
活动自2017年6月2日上线,敬请关注云钻刮券活动规则更新。
如活动受政府机关指令需要停止举办的,或活动遭受严重网络攻击需暂停举办的,或者系统故障导致的其它意外问题,苏宁无需为此承担赔偿或者进行补偿。
全新正版Java多线程编程核心技术9787111698586机械工业出版社
¥ ×1
前 言
章 Java多线程技能 1
1.1 进程和线程的定义及多线程的优点 1
1.2 使用多线程 5
1.2.1 继承Thread类 6
1.2.2 使用常见的3个命令分析线程的信息 8
1.. 线程随机的展现 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
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()与ja..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.1. 方法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.. 用同步代码块解决同步方法的弊端 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. 锁对象改变导致异步执行 156
2.2.24 锁对象不改变依然是同步执行 159
2.2.25 同步写法案例比较 161
2.2.26 方法holdsLock(Object obj)的使用 161
2.2.27 临界区 162
. volatile关键字 162
..1 可见的测试 163
..2 原子与非原子的测试 171
.. 禁止代码重排序的测试 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机制实现线程
高洪岩,某世界500强企业不错项目经理,具有10余年项目管理与开发经验,对多线程和并发、Android移动开发、智能报表、分布式处理等企业级架构技术深耕多年,专注于对Java技术开发难点与要点的理解,拥有良好的技术素养和丰富的实践经验,一直在持续关注架构的优化和重构领域,喜欢用技术与教育相结合的方式分享知识。作者著有《Java多线程编程核心技术》《Java并发编程:核心方法与框架》《Java EE核心框架实战第2版》《NIO与Socket编程技术指南》等图书。
书作者撰写,全新升级,新增适合微服务与分布式开发的并发集合框架与Java线程池知识
本书作为讲解Java多线程技术的教程,主要介绍核心并常用的技术点,比如解决线程Thread的停止,线程对象Thread的暂停,线程的优先级,synchronized关键字的使用,以及使用它解决非线程安全的问题。使用volatile关键字解决变量可见问题,使用wait()及notify()方法实现等待通知模式,还有使用ThreadLocal类进行隔离变量,Lock锁对象的使用,包含Condition类实现生产者-消费者模式,深入讲解了Condition类在使用上的细节。还包括对Lock锁对象中的常见API进行细化讲解,ReentrantReadWriteLock读写锁的使用等,Timer定时器类的使用。多线程实现单例模式时完整的解决步骤,以及多线程异常的处理等常见Java多线程解决方案。并发集合框架的使用,以及线程池技术点的使用。
1. 书作者撰写,全新升级,新增适用微服务与分布式开发的并发工具与Java线程池 2. 全面剖析多线程编程的核心库、方法、原理,案例式教学,透彻了解高并发本质与应对方法
亲,大宗购物请点击企业用户渠道>小苏的服务会更贴心!
亲,很抱歉,您购买的宝贝销售异常火爆让小苏措手不及,请稍后再试~
非常抱歉,您前期未参加预订活动,
无法支付尾款哦!
抱歉,您暂无任性付资格