Java多线程编程核心技术(第2版) - (EPUB全文下载)

文件大小:0.52 mb。
文件格式:epub 格式。
书籍内容:

Java多线程编程核心技术(第2版)
第1章 Java多线程技能
1.1 进程和多线程概述
1.2 使用多线程
1.2.1 继承Thread类
1.2.2 使用常见命令分析线程的信息
1.2.3 线程随机性的展现
1.2.4 执行start()的顺序不代表执行run()的顺序
1.2.5 实现Runnable接口
1.2.6 使用Runnable接口实现多线程的优点
1.2.7 实现Runnable接口与继承Thread类的内部流程
1.2.8 实例变量共享造成的非线程安全问题与解决方案
1.2.9 Servlet技术造成的非线程安全问题与解决方案
1.2.10 留意i--与System.out.println()出现的非线程安全问题
1.3 currentThread()方法
1.4 isAlive()方法
1.5 sleep(long millis)方法
1.6 sleep(long millis,int nanos)方法
1.7 StackTraceElement[]getStackTrace()方法
1.8 static void dumpStack()方法
1.9 static Map<Thread,StackTraceElement[]>getAllStackTraces()方法
1.10 getId()方法
1.11 停止线程
1.11.1 停止不了的线程
1.11.2 判断线程是否为停止状态
1.11.3 能停止的线程——异常法
1.11.4 在sleep状态下停止线程
1.11.5 用stop()方法暴力停止线程
1.11.6 stop()方法与java.lang.ThreadDeath异常
1.11.7 使用stop()释放锁给数据造成不一致的结果
1.11.8 使用“return;”语句停止线程的缺点与解决方案
1.12 暂停线程
1.12.1 suspend()方法与resume()方法的使用
1.12.2 suspend()方法与resume()方法的缺点——独占
1.12.3 suspend()方法与resume()方法的缺点——数据不完整
1.13 yield()方法
1.14 线程的优先级
1.14.1 线程优先级的继承特性
1.14.2 优先级的规律性
1.14.3 优先级的随机性
1.14.4 优先级对线程运行速度的影响
1.15 守护线程
1.16 本章小结
第2章 对象及变量的并发访问
2.1 synchronized同步方法
2.1.1 方法内的变量为线程安全
2.1.2 实例变量非线程安全问题与解决方案
2.1.3 同步synchronized在字节码指令中的原理
2.1.4 多个对象多个锁
2.1.5 将synchronized方法与对象作为锁
2.1.6 脏读
2.1.7 synchronized锁重入
2.1.8 锁重入支持继承的环境
2.1.9 出现异常,锁自动释放
2.1.10 重写方法不使用synchronized
2.1.11 public static boolean holdsLock(Object obj)方法的使用
2.2 synchronized同步语句块
2.2.1 synchronized方法的弊端
2.2.2 synchronized同步代码块的使用
2.2.3 用同步代码块解决同步方法的弊端
2.2.4 一半异步,一半同步
2.2.5 synchronized代码块间的同步性
2.2.6 println()方法也是同步的
2.2.7 验证同步synchronized(this)代码块是锁定当前对象的
2.2.8 将任意对象作为锁
2.2.9 多个锁就是异步执行
2.2.10 验证方法被调用是随机的
2.2.11 不同步导致的逻辑错误及其解决方法
2.2.12 细化验证3个结论
2.2.13 类Class的单例性
2.2.14 静态同步synchronized方法与synchronized(class)代码块
2.2.15 同步syn static方法可以对类的所有对象实例起作用
2.2.16 同步syn(class)代码块可以对类的所有对象实例起作用
2.2.17 String常量池特性与同步相关的问题与解决方案
2.2.18 同步synchronized方法无限等待问题与解决方案
2.2.19 多线程的死锁
2.2.20 内置类与静态内置类
2.2.21 内置类与同步:实验1
2.2.22 内置类与同步:实验2
2.2.23 锁对象改变导致异步执行
2.2.24 锁对象不改变依然同步执行
2.2.25 同步写法案例比较
2.3 volatile关键字
2.3.1 可见性的测试
2.3.2 原子性的测试
2.3.3 禁止代码重排序的测试
2.4 本章小结
第3章 线程间通信
3.1 wait/notify机制
3.1.1 不使用wait/notify机制实现线程间通信
3.1.2 wait/notify机制
3.1.3 wait/notify机制的原理
3.1.4 wait()方法的基本使用
3.1.5 完整实现wait/notify机制
3.1.6 使用wait/notify机制实现list.size()等于5时的线程销毁
3.1.7 对业务代码进行封装
3.1.8 线程状态的切换
3.1.9 wait()方法:立即释放锁
3.1.10 sleep()方法:不释放锁
3.1.11 notify()方法:不立即释放锁
3.1.12 interrupt()方法遇到wait()方法
3.1.13 notify()方法:只通知一个线程
3.1.14 notifyAll()方法:通知所有线程
3.1.15 wait(long)方法的基本使用
3.1.16 wait(long)方法自动向下运行需要重新持有锁
3.1.17 通知过早问题与解决方法
3.1.18 wait条件发生变化与使用while的必要性
3.1.19 生产者/消费 ............

以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。

版权声明:书云(openelib.org)是世界上最大的在线非盈利图书馆之一,致力于让每个人都能便捷地了解我们的文明。我们尊重著作者的知识产权,如您认为书云侵犯了您的合法权益,请参考版权保护声明,通过邮件openelib@outlook.com联系我们,我们将及时处理您的合理请求。 数研咨询 流芳阁 研报之家 AI应用导航 研报之家
书云 Open E-Library » Java多线程编程核心技术(第2版) - (EPUB全文下载)