⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠

Text Elements

对象的组合

可变对象/线程不安全对象组合

线程安全对象组合

线程安全的类

设计步骤:找状态 - 找状态范围/条件 - 策略

Java监视器模式封装对象
(如加锁synchronized)

状态之间相互独立

线程安全性委托

状态之间不独立

不独立的状态进行组合

发布底层状态变量

扩展线程安全类的功能

  1. 修改原有类
  2. 扩展原有类,如extend
  3. 客户端加锁,但必须使用原有类的锁,保证操作扩展类时需要的锁是同一把锁

同步策略文档化