Sobes.tech
Назад к вопросам
Junior — Middle
55

Какая основная задача выполнения критических секций с помощью блока synchronized в Java?

Ответ от нейросети

sobes.tech AI

Блок synchronized в Java используется для обеспечения взаимного исключения при доступе к критическим секциям кода. Его основная задача — предотвратить одновременное выполнение этого кода несколькими потоками, чтобы избежать состояния гонки и обеспечить корректность данных.

Когда поток входит в synchronized-блок, он захватывает монитор (замок) объекта, и другие потоки, пытающиеся войти в этот блок с тем же монитором, будут ждать, пока первый поток не выйдет из блока.

Пример:

public void increment() {
    synchronized(this) {
        counter++;
    }
}