Встречается на собеседованиях • сегодня
Какие знаешь механизмы многопоточности
В Java есть несколько механизмов для работы с многопоточностью:
- Thread – базовый класс для создания потоков. Можно наследовать или реализовывать
Runnable.
java
Thread thread = new Thread(() -> System.out.println("Hello from thread!"));
thread.start();- ExecutorService – пул потоков для управления задачами. Удобен для асинхронного выполнения.
java
ExecutorService executor = Executors.newFixedThreadPool(4);
executor.submit(() -> System.out.println("Task executed"));- Future и CompletableFuture – для асинхронных вычислений с возможностью получения результата.
java
CompletableFuture.supplyAsync(() -> "Result")
.thenAccept(System.out::println);- Synchronized – ключевое слово для синхронизации доступа к общим ресурсам.
java
synchronized (lock) {
// критическая секция
}- Lock и ReentrantLock – альтернатива
synchronizedс большей гибкостью (например,tryLock).
java
Lock lock = new ReentrantLock();
lock.lock();
try {
// критическая секция
} finally {
lock.unlock();
}-
Atomic-классы (
AtomicInteger,AtomicReference) – потокобезопасные операции без блокировок. -
Concurrent Collections (
ConcurrentHashMap,BlockingQueue) – потокобезопасные коллекции. -
CountDownLatch, CyclicBarrier, Semaphore – высокоуровневые примитивы синхронизации.

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