Какой класс должен заботиться о получении на 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 является возвращаемым типом.

Этот класс содержит дополнительную информацию, такую ​​как статистика и дополнительные функции. Я просто включил этот фрагмент кода для примера

0 ответов

Другие вопросы по тегам