-
对象的状态
构建稳健的并发程序,必须正确使用线程和锁;对状态访问操作进行管理,特别是共享的(Shared)和可变的(Mutable)状态
共享的:变量可以由多个线程同时访问
可变的:变量的值在生命周期内可以发生变化。
对象的状态:存储在状态变量(如实例域或静态域)中的数据;在对象的状态中,包含了任何可能影响其外部可见行为的数据。
对象的状态变量:任何可能影响其外部可见行为的变量,可能包括其他依赖对象的域, 例如,某个HashMap的状态不仅存储在HashMap对象本身,还存储在许多Map.Entry对象中。
一个对象是否需要是线程安全的,取决于它是否被多个线程访问,-----------访问对象的方式。
实现对象线程安全的方式:使用同步机制来协同对对象可变状态的访问。