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

Что такое параллельность

Параллельность — это выполнение нескольких задач одновременно, используя несколько потоков или процессов. В C# для работы с параллельностью используются:

  • Thread (низкоуровневый подход)
  • Task (рекомендуется, основан на TPL)
  • Parallel.For/ForEach (для параллельных циклов)
  • async/await (асинхронность, не путать с параллельностью!)

Пример с Parallel.For:

csharp
Parallel.For(0, 10, i => {
    Console.WriteLine($"Thread {Thread.CurrentThread.ManagedThreadId}: {i}");
});

Нюансы:

  • Гонки данных (используйте lock, Interlocked или коллекции из System.Collections.Concurrent).
  • Deadlock (избегайте вложенных блокировок).
  • Overhead (создание потоков затратно, не параллелите мелкие задачи).

Асинхронность (async/await) ≠ параллельность, но часто используется вместе (например, Task.Run).

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

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

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

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