Какой класс должен заботиться о получении на AtomicLong
У меня есть многопоточное приложение, где я должен убедиться, что все потоки ссылаются на последнюю версию 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 является возвращаемым типом.
Этот класс содержит дополнительную информацию, такую как статистика и дополнительные функции. Я просто включил этот фрагмент кода для примера