1.竞争情况。个人给其下的定义:程序中多个线程 对某对象的状态发出访问请求。
2.竞争情况的诱因:为获取期望的结果,需要依赖相关事件的分时。
3.竞争情况的一种情形:检查再运行(check-then-act):使用潜在过期的观察值来作决策或执行计算。
4.检查再运行的常见情况是惰性初始化(lazy initialization)。
5.原子操作:该操作对于所有的操作,包括它自己,都满足 要么全部执行完成,要么一点都没有执行。
6.法则2:当向无状态类中加入唯一的状态因素,而这个状态完全被线程安全的对象所管理,那么新类型仍然是线程安全的。
7.注:java.util.concurrent.atomic包含了原子变量(atomic variable)类,这些类用来实现数字和对象引用的原子状态转换。例如可以把Long类型的计数器转换为atomicLong类型的,我们可以确保所有访问计数器状态的操作都是原子的。
8.