У меня есть многопоточное приложение, в котором я должен убедиться, что все потоки ссылаются на последнюю версию long. Я думал об использовании AtomicLong для этой цели.
AtomicLong будет в одном классе, и другие классы должны будут получить значение и также установить значение.
private final AtomicLong key;
public ClassHoldingLong(){
this.key = new AtomicLong(System.currenttimemillis());
}
public long getKey() {
return key.get();
}
public void setKey(long key) {
this.key.set(key);
}
Это нормально делать или должен быть получатель самого AtomicLong и кто-то вызывает .get () для AtomicLong, а не этот класс, содержащий переменную, вызывающую его для другого класса. Из того, что я прочитал, эти установщики геттеров не нужно синхронизировать, но они не уверены, что это только в том случае, если AtomicLong является возвращаемым типом.
Этот класс содержит дополнительную информацию, такую как статистика и дополнительные функции. Я просто включил этот фрагмент кода для примера