- 原子性的赋值方法:compareAndSet()
- 在修改前,先判断旧值和新值是否相同
package org.springframework.cloud.client.discovery.event;
import java.util.concurrent.atomic.AtomicReference;
public class HeartbeatMonitor {
private AtomicReference<Object> latestHeartbeat = new AtomicReference();
public HeartbeatMonitor() {
}
public boolean update(Object value) {
Object last = this.latestHeartbeat.get();
return value != null && !value.equals(last) ? this.latestHeartbeat.compareAndSet(last, value) : false;
}
}
网友评论