Atomic

2. Atomic

Atomicboolean

某个 Socket 服务在启动的时候只能启动一次,

可以使用 AtomicBoolean 来避免一个服务重复启动两次的场景。

How

通过compareAndSet(false,true)

«span style='font-family:仿宋'»atomicBoolean.compareAndSet(«/span»false«span style='font-family:仿宋'», «/span»true«span style='font-family:仿宋'»)«/span»

atomicReference 针对引用数据类型
Ps AtomicReference«span style='font-family:仿宋;font-size:22.0pt'»本身可以用于确保引用的原子性操作,«/span»«span style='font-family:仿宋;font-size:22.0pt;background:yellow;mso-highlight:yellow'»但它不会保证引用对象中的属性的线程安全«/span»。
AtomicReference«span style='font-family:仿宋;font-size:22.0pt'»只能保证引用的替换、获取等操作是原子的,«/span»«span style='font-family:仿宋;font-size:22.0pt;background:yellow;mso-highlight:yellow'»但不会处理引用对象内部状态的线程安全性«/span»«span style='font-family:仿宋;font-size:22.0pt'»。«/span»