Встречается на собеседованиях • сегодня
В чем разница между многопоточностью (multithreading) и асинхронностью
Многопоточность (multithreading) – это параллельное выполнение нескольких потоков в рамках одного процесса, где каждый поток имеет свой стек и контекст. Потоки разделяют ресурсы процесса (память, файлы), что требует синхронизации (synchronized, Lock). Пример:
java
new Thread(() -> {
System.out.println("Thread running");
}).start();Асинхронность – это модель выполнения задач без блокировки основного потока, где операции могут выполняться в фоне с уведомлением о завершении (callback, Future, CompletableFuture). Не требует создания отдельных потоков (может использовать пул или event-loop). Пример:
java
CompletableFuture.runAsync(() -> {
System.out.println("Async task");
});Ключевые отличия:
- Потоки создают параллелизм, асинхронность – неблокирующее выполнение
- Потоки дорогие (создание/переключение), асинхронность легковеснее
- Асинхронность часто использует существующие потоки (ForkJoinPool)

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