Sobes.tech
Назад к вопросам
Principal
6

Каков будет результат записи в закрытый канал? Deadlock, паника или операция записи вернула ошибку?

Компании, где спрашивали
Kaspersky

Ответ от нейросети

sobes.tech AI

В C# запись в закрытый канал (Channel) приведёт к выбросу исключения (InvalidOperationException). Это происходит потому, что закрытый канал больше не принимает данные.

Пример:

var channel = Channel.CreateUnbounded<int>();
channel.Writer.Complete(); // Закрываем канал

// Попытка записи вызовет исключение
await channel.Writer.WriteAsync(42); // InvalidOperationException

Deadlock не возникнет, так как операция записи не блокируется, а сразу выбрасывает ошибку. Паника как в Go отсутствует, вместо этого используется исключение.