Встречается на собеседованиях • сегодня
Какие принципы работы sinchronized
synchronized в Java обеспечивает потокобезопасность, блокируя доступ к общему ресурсу для других потоков, пока один поток выполняет синхронизированный блок или метод.
Принципы:
- Монитор – каждый объект имеет ассоциированный монитор.
synchronizedзахватывает монитор объекта (или класса для статических методов). - Блокировка – только один поток может владеть монитором одновременно.
- Взаимное исключение – другие потоки ждут освобождения монитора.
Пример:
java
public class Counter {
private int count = 0;
public synchronized void increment() {
count++; // потокобезопасно
}
}Нюансы:
synchronizedметоды блокируют весь объект, что может снижать производительность.- Для гибкости можно использовать
synchronizedблоки с указанием объекта-монитора:
java
public void doSomething() {
synchronized (this) {
// критическая секция
}
}
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы