Встречается на собеседованиях • сегодня
Как сделать синхронизацию потоков
В Java синхронизация потоков достигается несколькими способами:
- synchronized блок/метод - самый простой способ:
java
public synchronized void increment() {
counter++;
}- Использование объектов синхронизации из пакета
java.util.concurrent:
ReentrantLockSemaphoreCountDownLatchCyclicBarrier
- Использование volatile для переменных (обеспечивает видимость изменений между потоками):
java
private volatile boolean flag = true;- Атомарные классы (AtomicInteger, AtomicBoolean и др.):
java
private AtomicInteger counter = new AtomicInteger(0);Синхронизация нужна для:
- предотвращения состояния гонки (race condition)
- обеспечения видимости изменений между потоками
- поддержания согласованности данных
Выбор способа зависит от конкретной задачи. Для простых случаев достаточно synchronized, для сложных - лучше использовать классы из java.util.concurrent.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы