Встречается на 12% собеседований по C#
Что такое параллелизм
Параллелизм — это выполнение нескольких задач одновременно, используя несколько потоков или процессов. В C# для работы с параллелизмом используются Task, async/await, Parallel и Thread.
Ключевые моменты:
- Потоки (
Thread) — базовый механизм, но сложен в управлении. Taskиasync/await— упрощают асинхронное программирование.Parallel.For/Parallel.ForEach— для параллельной обработки данных.
Пример с async/await:
csharp
async Task DownloadDataAsync()
{
var data = await HttpClient.GetStringAsync("https://example.com");
Console.WriteLine(data);
}Пример с Parallel.For:
csharp
Parallel.For(0, 10, i =>
{
Console.WriteLine($"Processing {i} in thread {Thread.CurrentThread.ManagedThreadId}");
});⚠️ Важно: Параллелизм может приводить к race condition, deadlock и другим проблемам. Используйте lock, SemaphoreSlim или другие механизмы синхронизации.
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы