Встречается на собеседованиях • сегодня

Что такое параллелизм

Параллелизм — это выполнение нескольких задач одновременно, используя несколько потоков или процессов. В 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 или другие механизмы синхронизации.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы