synchronized
— это ключевое слово в Java, которое используется для управления доступом к критическим секциям кода между несколькими потоками. Когда метод или блок кода помечен как synchronized
, только один поток может получить доступ к этому коду в одно и то же время.
Основные функции synchronized
:
- Монитор объекта: Поток захватывает монитор объекта перед выполнением кода и освобождает его после завершения.
- Защита от гонок потоков: Гарантирует, что доступ к общим ресурсам между потоками происходит последовательно.