Какой класс должен заботиться о получении на AtomicLong - PullRequest
0 голосов
/ 27 апреля 2018

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

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

...