我们并不希望对每一次内存访问都进行分析以确保程序时线程安全的,而是希望将一些现有的线程安全组件组合为更大规模的组件或程序
1.设计线程安全的类
设计过程中,需要包含以下三个基本要素
1.找出构成对象状态的所有变量
2.找出约束状态变量的不变性条件
3.建立对象状态的并发访问管理策略
分析对象的状态,首先要从对象的域开始。如果对象中所有的域都是基本类型的变量,那么这些域将构成对象的全部状态。,如果在对象的域中引用了其他对象,那么该对象的状态将包含被引用对象的域。
上面Counter中,只有一个域value,因此这个域是Counter的全部状态。
1.1 收集同步需求