Зачем нужны:
Используются для координации потоков и синхронизации их доступа к общим ресурсам.
Механизмы реализации Concurrency:
- Semaphore:
- Механизм управления доступом к ограниченным ресурсам.
- Поддерживает счетчик доступных разрешений (ресурсов), и потоки должны получить разрешение перед доступом.
- Бывают: бинарный (1 ресурс) и счетный (несколько ресурсов).
- CountDownLatch:
- Ожидание завершения заданного количества операций перед продолжением.
- Потоки уменьшают счетчик, и как только он достигает нуля, ожидающий поток продолжает работу.