当多线程修改一些属性或者执行一些方法时,我们一般会使用synchronized, 或者 给属性加volatile, 最近发现我们可以使用atomic,
jdk 的package java.util.concurrent.atomic路径下面有很多的类,
之前给你一个属性的get set方法加的synchronized, 尝试改成atomic
public static AtomicReference<String> clientAddress = new AtomicReference<String>();
public String getClientAddress() {
return clientAddress.get();
}
/**
* set client address.
* @param kAddress the client address.
*/
public void setClientAddress(String kAddress) {
String prevValue=clientAddress.get();
clientAddress.compareAndSet(prevValue,kAddress);
}