本章学习的内容为:共享模型之管程,管程又称为悲观锁,是一种通过阻塞实现多线程并发的方式,简单讲就是synchronized锁。
本章我们要重点掌握的是:
- 分析多线程访问共享资源时,哪些代码片段属于临界区
使用synchronized互斥解决临界区的线程安全问题,互斥着重于使得线程能够互斥地访问共享资源
-掌握 synchronized 锁对象语法<br /> -掌握 synchronized 加载成员方法和静态方法语法<br /> -掌握 wait/notify 同步方法,同步着重于使得某线程因为条件不满足而等待其它线程,强调线程之间的合作
使用 lock 互斥解决临界区的线程安全问题
-掌握 lock 的使用细节:可打断、锁超时、公平锁、条件变量
学会分析变量的线程安全性、掌握常见线程安全类的使用
了解线程活跃性问题:死锁、活锁、饥饿
应用方面
-互斥:使用 synchronized或Lock达到共享资源互斥效果<br /> -同步:使用 wait/notify 或 Lock 的条件变量来达到线程间通信效果
原理方面
- monitor、synchronized、wait/notify原理<br /> - synchronized 进阶原理<br /> - park&unpark原理
模式方面
- 同步模式之保护性暂停,用于两个线程间传递消息<br /> - 异步模式之生产者消费者,用于多个线程间传递消息<br /> - 同步模式之顺序控制,用于控制线程执行次序