第10章 避免活跃性危险
在安全性与活跃性之间通常存在着某种制衡。我们使用加锁机制来确保钱程安全,但如果过度地使用如锁,则可能导致顺序死锁( Lock-Ordering Deadlock )。同意,我们使用线程和信号量来限制对资源的使用,但这些被限制的行为可能会导致资源死锁(Resource Deadlock )。
在安全性与活跃性之间通常存在着某种制衡。我们使用加锁机制来确保钱程安全,但如果过度地使用如锁,则可能导致顺序死锁( Lock-Ordering Deadlock )。同意,我们使用线程和信号量来限制对资源的使用,但这些被限制的行为可能会导致资源死锁(Resource Deadlock )。
对性能的思考
安全性测试:不发生任何错误的行为
Java5.0增加了ReentrantLock
创建状态依赖类的最简单方式通常是在类库中现有状在载赖类的基础上进行构造
Semaphore和CurrentLinkedQueue都提供了比synchronized机制更高性能和可伸缩性,原子变量和非阻塞的同步机制
什么是内存模型,为什么需要它
线程安全性
对象的共享
4. 对象的组合
基础构建模块
在线程中执行任务
Java没有提供任何机制来安全的终止线程,但它提供了中断(interruption)协调机制,能够使一个线程终止另外一个线程当前的工作。
在任务与执行策略之间的隐性耦合