请问一个
线程安全的类必须满足几个条件,这些条件分别是什么?
答:要设计一个满足
线程安全的类一般需要满足以下三个条件:
(1)这个类的对象可以同时被多个线程安全地访问。
(2)每个线程都能正常执行原子操作,等到正确的结果。
(3)在每个线程的原子操作都完成之后,对象处于逻辑上
合理的状态。
另外,不可变类总是线程安全,不需要对这样的类进行特别的
限制,因为它的对象的状态始
终是不变的,任何线程只能读取对象的状态,而不能改变对象的状态。对于可变类,如果要
保证其线程安全,必须根据实际情况,对某些原子操作进行
同步。