Назад к вопросам
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 отсутствует, вместо этого используется исключение.