← Все новости
Конвейеры на Channels: как не получить тихую утечку памяти и вечно висящий воркер

Конвейеры на Channels: как не получить тихую утечку памяти и вечно висящий воркер

Неограниченный канал спокойно работает до первого замедления потребителя, после чего очередь начинает расти, память — заканчиваться, а фоновый воркер может зависнуть при остановке сервиса. В статье разберём, как строить конвейеры на System.Threading.Channels: настраивать обратное давление, корректно завершать обработку, не терять исключения и безопасно использовать каналы в ASP.NET Core. Читать далее