Встречается на собеседованиях • сегодня
В чем разница между многопоточностью (multithreading) и асинхронностью
Многопоточность (multithreading) использует несколько потоков ОС для параллельного выполнения задач. Потоки разделяют ресурсы процессора и могут выполняться одновременно (на многоядерных системах). Основные проблемы: гонки данных, deadlocks, накладные расходы на переключение контекста.
Асинхронность (async/await) — это модель однопоточного неблокирующего выполнения. Поток освобождается во время ожидания I/O операций (файлы, сеть), но продолжает работу при наличии задач. Нет проблем с синхронизацией, но CPU-bound задачи не ускоряются.
Пример асинхронности:
csharp
async Task DownloadAsync() {
var client = new HttpClient();
string data = await client.GetStringAsync("https://example.com");
Console.WriteLine(data);
}Ключевое отличие: многопоточность — для CPU-bound задач, асинхронность — для I/O-bound. В .NET часто комбинируют через Task.Run().

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