Синхронизированный против семафора
При чтении параллелизма в Java у меня возникают следующие сомнения:
Предоставляет ли Java конструкцию более низкого уровня, а затем синхронизируется для синхронизации?
При каких обстоятельствах мы будем использовать семафор по сравнению с синхронизированным (что обеспечивает поведение монитора в Java)