Встречается на собеседованиях • сегодня
Какие знаешь способы синхронизации исполнения кода
В Java есть несколько механизмов синхронизации:
- synchronized блоки/методы - базовый способ:
java
synchronized(lockObject) {
// критическая секция
}- Lock интерфейсы из
java.util.concurrent.locks:
java
Lock lock = new ReentrantLock();
lock.lock();
try {
// критическая секция
} finally {
lock.unlock();
}-
Atomic классы (
AtomicInteger,AtomicReferenceи др.) - для атомарных операций без блокировок. -
Volatile переменные - гарантирует видимость изменений между потоками.
-
CountDownLatch, CyclicBarrier, Semaphore - высокоуровневые синхронизаторы из
java.util.concurrent. -
Thread.join() - ожидание завершения потока.
-
Collections.synchronizedXXX() - синхронизированные коллекции.
-
Concurrent коллекции (
ConcurrentHashMap,CopyOnWriteArrayList) - потокобезопасные реализации.

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