Re[2]: Как исправить код, чтобы он работал в многопоточном режиме?
От: Aleksei_Lekomtsev  
Дата: 04.10.23 13:57
Оценка:
Здравствуйте, GarryIV, Вы писали:

GIV>Здравствуйте, Aleksei_Lekomtsev, Вы писали:


A_L>>Вместо long думаю можно использовать AtomicLong. Не уверен на счет подойдет ли тут synchronized для increment()...

GIV>https://foojay.io/today/thread-safe-counter-in-java-a-comprehensive-guide/

GIV>LongAdder производительное и простое решение (лучше AtomicLong), а так вариантов много включая synchronized.


А если сравнивать AtomicLong и synchronized, есть ли у AtomicLong преимущества, например по performance?

Если использовать synchronized, то при заходе в метод захватывается монитор объекта, т.е. если будут еще методы synchronized, то
они будут ждать очереди пока отработает первый. А если использовать AtomicLong, то вроде как такой сложности не должно возникнуть...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.