Встречается на собеседованиях • сегодня
Как работал с многопоточностью
Работа с многопоточностью в Java включает создание потоков (Thread), управление их выполнением и синхронизацию доступа к общим ресурсам. Основные подходы:
- Создание потоков:
- Наследование от
Threadи переопределениеrun(). - Реализация
Runnableи передача в конструкторThread.
- Наследование от
java
// Через Runnable
Thread thread = new Thread(() -> System.out.println("Running"));
thread.start();- Синхронизация:
- Ключевое слово
synchronizedдля методов или блоков. - Использование
ReentrantLock,Semaphoreи других классов изjava.util.concurrent.
- Ключевое слово
java
// Синхронизированный метод
public synchronized void increment() {
counter++;
}- Пул потоков (
ExecutorService):- Управление множеством потоков через
Executors.
- Управление множеством потоков через
java
ExecutorService executor = Executors.newFixedThreadPool(4);
executor.submit(() -> System.out.println("Task executed"));- Потокобезопасные коллекции:
ConcurrentHashMap,CopyOnWriteArrayListи др.
Важно учитывать race conditions, deadlocks и эффективность синхронизации. Для сложных сценариев используются CompletableFuture, ForkJoinPool и другие инструменты из java.util.concurrent.

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