Я вижу, что ReentrantLock
примерно на 50% быстрее, чем synchronized
и AtomicInteger
100% быстрее. Почему такая разница с временем выполнения этих трех методов синхронизации: synchronized
, ReentrantLock
и AtomicInteger
(или какой-либо класс из пакета Atomic
).синхронизированный vs ReentrantLock vs AtomicInteger время выполнения
Есть ли другие популярные и расширенные методы синхронизации в стороне от этих?
Как именно вы получили эти номера производительности? Microbenchmarking на Java очень сложно из-за JIT и GC. Вы можете легко получить вводящие в заблуждение результаты. – Jesper
Я думаю, вы имеете в виду 'java.util.concurrent' –
Я просто использую 'System.nanoTime()', это не исчерпывающий тест, и проценты, которые я дал, были лишь показательными. – dabadaba