Как исправить код с CountDownLatch и не-атомарным счётчиком (без AtomicInteger)?
Как работает CountDownLatch?
Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Рейтинг:
1
Сложность:
6
Чтобы избежать состояния гонки при работе с не-атомарным счётчиком, используйте:
synchronized-блоки для синхронизации доступа к счётчику.
Лок на объекте, общем для всех потоков.
Рейтинг:
1
Сложность:
7
CountDownLatch позволяет одному или нескольким потокам ждать, пока другие потоки не завершат работу. Счётчик уменьшается при вызове countDown(), и ожидающие потоки разблокируются при достижении нуля.