Описание тега atomic-long

Anything related to the Java `AtomicLong` data type, an integer type that can be accessed and updated atomically.
1 ответ

LongAdder Striped64 был неконтролируемая деталь реализации

Это вопрос не о том, как работает LongAdder, а о интригующей детализации, которую я не могу понять. Вот код из Striped64 (я вырезал некоторые части и оставил соответствующие части для вопроса): final void longAccumulate(long x, LongBinaryOperator fn…
2 ответа

Как обеспечить корректность результата AtomicLong addAndGet

Я хочу рассчитать текущий процент в моей многопоточной программе загрузки. Но есть странная проблема. LastDownloadSize во время второй загрузки должен быть суммой записи и lastDownloadSize для lastDown. пример Есть мой код private long getDownloadSi…
01 июн '18 в 06:33
4 ответа

CAS против синхронизированной производительности

У меня был этот вопрос уже довольно давно, я пытался прочитать много ресурсов и понять, что происходит, но мне так и не удалось понять, почему все так, как есть. Проще говоря, я пытаюсь проверить, как CAS будет выполнять против synchronized в утверж…
07 сен '17 в 09:25
1 ответ

Оператор += не определен для типов аргументов int, AtomicLong

У меня есть карта, как показано ниже - ConcurrentHashMap<Long, AtomicLong> histogram = new ConcurrentHashMap<Long, AtomicLong>(); Эта карта содержит много пары ключ-значение. Ввод AtomicLong поскольку значение было необходимо, вот почему…
08 фев '13 в 08:00
1 ответ

Для чего используется AtomicLong в Java?

Кто-нибудь может объяснить, для чего используется AtomicLong? Например, в чем разница в приведенных ниже утверждениях? private Long transactionId; private AtomicLong transactionId;
22 фев '16 в 06:18
0 ответов

Какой класс должен заботиться о получении на AtomicLong

У меня есть многопоточное приложение, где я должен убедиться, что все потоки ссылаются на последнюю версию long. Я думал об использовании AtomicLong для этой цели. AtomicLong будет в одном классе, и другие классы должны будут получить значение и так…
27 апр '18 в 20:49
4 ответа

Есть ли преимущество использования AtomicLong, если вы только устанавливаете и получаете значение?

У меня есть потребность в длинной переменной экземпляра.Эта переменная будет содержать некоторое время события (время в миллисекундах).Если я только устанавливаю значения в это длинное и получаю значение,Есть ли преимущество использования AtomicLong…
09 сен '15 в 08:27
4 ответа

AtomicLong операции

Мне нужно выполнить следующую операцию: // average, total, elapsed are Long's average = ( ( total * average ) + elapsed ) / (++total); Но я хочу использовать AtomicLong Это то, что я пытаюсь, но я не совсем понимаю, если это правильно: average.set( …
04 окт '12 в 20:53
1 ответ

Как внутренне работает метод incrementAndGet для AtomicLong?

Я использую incrementAndGet метод AtomicLong в моем многопоточном коде, чтобы измерить производительность некоторого нашего клиентского кода. @Override public void run() { long start = System.nanoTime(); attributes = client.getAttributes(columnsList…
13 апр '13 в 20:46
0 ответов

Spark Streaming: среднее за все время

Я написал приложение Spark Streaming, которое получает значения температуры и вычисляет среднюю температуру за все время. Для этого я использовал JavaPairDStream.updateStateByKey транзакция для расчета на устройство (разделена ключом пары). Для отсл…
1 ответ

Всегда ли Hazelcast getAtomicLong генерирует уникальное значение?

Я хочу сгенерировать значения последовательности, начиная с определенного значения в Mongodb. Вместо этого я сгенерировал значения последовательности с помощью hazelcast AtomicLong. Однако при сохранении данных mongodb я получаю ошибку дублирующего …
11 ноя '18 в 06:58
0 ответов

java.util.concurrent.atomic.AtomicLong реализует java.io.Serializable даже java.lang.Number также реализует Сериализуемый

Класс java.util.concurrent.atomic.AtomicLong выглядит следующим образом: public class AtomicLong extends Number implements java.io.Serializable {} И номер класса выглядит так, public abstract class Number implements java.io.Serializable {} поскольку…
23 окт '18 в 10:01
1 ответ

LongAdder[] + System.arraycopy() =?

Упрощенный сценарий состоит в том, что у меня есть массив LongAdders, и несколько потоков обращаются к этому массиву, чтобы увеличить переменную по заданному индексу. Безопасно ли копировать массив без какого-либо дополнительного механизма блокировк…
06 окт '14 в 09:13
1 ответ

Метод getAndAdd в AtomicLong вызывает ожидание потоков?

У меня есть программа, работающая с несколькими потоками, все потоки разделяются и обрабатываются в одной переменной AtomicLong. Каждый из них позвонит getAndAdd() Метод, чтобы сначала получить значение и обработать дальше. Если все потоки работают …
06 янв '17 в 08:58
1 ответ

Почему мой собственный AtomicLong работает медленнее, чем тот, что есть в JDK?

Я писал свой AtomicLong класс, и я только что обнаружил, что функция, которую я имел, намного медленнее, чем та, что предусмотрена в классе Unsafe. Мне интересно почему? Ниже приведены коды, которые у меня есть: public interface Counter { void incre…
1 ответ

Как использовать AtomicLong в подсистеме Hazelcast CP всего с двумя узлами кластера Hazelcast?

Я обновляюсь до последней версии Hazelcast [3.12] и сталкиваюсь с проблемой получения экземпляра AtomicLong. В новой версии HZ вводится концепция теоремы CAP, чтобы обеспечить согласованность и допуск раздела, но проблема в том, что подсистема CP до…
02 май '19 в 16:00
0 ответов

Обеспечивает ли compareAndSet AtomicLong безопасность потоков

Это продолжение моего предыдущего вопроса - Рефакторинг блоков синхронизации с сохранением порядка выполнения без изменений. У меня есть синхронизированный блок в одной из функций, с которой я хочу избавиться, имея кое-что еще для уменьшения конкуре…
23 май '20 в 10:59
2 ответа

Java - AtomicLong.set против LongAccumulator.accumulate Performance Java?

У меня есть вариант использования для высокой одновременной записи в переменную AtomicLong. Мне просто нужно установить текущее время в этой переменной. Какой способ сделать это быстрее всего? Является LongAccumulator.accumulate лучшая альтернатива …
12 июл '21 в 19:53
1 ответ

Атомарное присвоение длинного значения в Java

У меня есть вариант использования для обновления эпохи событий в длинной переменной. У этой переменной также будет много одновременных операций чтения и записи. Вот подробные требования: Очень быстрое завершение чтения и записи Чтение может возвраща…
1 ответ

Redisson getAtomicLong - что произойдет, если ключ не существует?

Я создаю реализацию кеша на Java с помощью Redisson. Я хочу использовать его для кеширования числового значения. Итак, я использую getAtomicLong () вот так: RAtomicLong userNumber = redissonClient.getAtomicLong("my-key"); long value = userNumber.get…
21 окт '21 в 04:42