从头认识多线程-目录

第一章 回顾多线程基础

1.1 多线程的创建

1.2 共享变量与线程安全简介

1.3 currentThread()

1.4 isAlive()和Sleep()

1.5 interrupt()和isInterrupt()

1.6 迫使线程停止的方法-异常法

1.7 迫使线程停止的方法-异常法的扩展(Sleep的Exception)

1.8 迫使线程停止的方法-暴力Stop方法

1.9 迫使线程停止的方法-return法

1.10 暂停与恢复线程

1.11 suspend和resume缺点-独占

1.12 suspend和resume缺点-不同步

1.13 yield在使用前后,计算时间的差别

1.14 优先级

1.15 优先级特性-继承性

1.16 对比不同的优先级

1.17 守护线程setDaemon()

第二章 synchronized

2.1 局部变量与实例变量的线程安全

2.2 synchronized持有对象锁与类锁

2.3 synchronized持有对象锁与类锁的不同点

2.4 脏读(DirtyRead)

2.5 锁的可重入性

2.6 当异常出现时,线程自动释放锁

2.7 同步是不具备继承性的

2.8 同步方法的隐患

2.9 缓解同步方法的隐患-同步代码块

2.10 同步代码块的特殊现象:一半同步,一半异步

2.11 通过同步代码块证明synchronized标记的是对象锁

2.12 synchronized标记的方法和synchronized(this)标记的代码块锁定的是当前对象

2.13 synchronized ()代码块不单可以用this,也可以用其他对象

2.14 由同步的synchronized (newobject()) 引起的异步现象和脏读

2.15 解决由同步的synchronized (newobject()) 引起的脏读的方法

2.16 证明使用属性域作为多线程监视器是不同步的

2.17 同步静态方法和静态代码块

2.18 同步方法与同步静态代码块持有的是不同的锁

2.18 synchronized (new object())同步时各种不同类别的监视器以及其引起的问题(常量池的影响)

2.20 synchronized同步方法的无限等待与解决方法

2.21 死锁简介

2.22 内部类的同步机制跟普通类相同

2.23 静态内部类的同步机制跟普通类相同

2.24 修改监视器对同步的影响

2.25 synchronized同步方法在jvm是怎样执行的?

2.26 synchronized同步代码块在jvm是怎样执行的?

第三章 volatile

3.1 使用volatile解决异步死循环

3.2 使用volatile声明的变量的写操作是非原子性的

3.3 synchronized某些解决不了的可视性问题,只能使用volatile来解决

第四章 对象的共享

4.1 对象的发布(Publish)、逸出(Escape)以及逸出的解决方案

4.2 对象逸出的其他解决方案-主要是ThreadLocal的应用

4.3 ThreadLocal使用时需要注意的地方

4.4 ThreadLocal的实现原理



这一章节就到这里,谢谢

------------------------------------------------------------------------------------

我的github:https://github.com/raylee2015/DeepIntoThread


目录:http://blog.youkuaiyun.com/raylee2007/article/details/51204573

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值