Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
⊗csSpCcWr 383 of 509 menu
◀ ▶

ChannelWriter и ChannelReader в C#

У канала две стороны. ChannelWriter принимает элементы, ChannelReader отдаёт их. Снаружи не нужен общий список, в который писали бы оба.

Одно чтение забирает уже записанный элемент и не ждёт, пока канал закроют. Закрытие нужно, когда читатель должен понять, что новых элементов больше не будет.

Запишем через писателя строку "hi" и прочитаем её через читателя:

using System.Threading.Channels; Channel<string> ch = Channel.CreateUnbounded<string>(); ChannelWriter<string> w = ch.Writer; ChannelReader<string> r = ch.Reader; await w.WriteAsync("hi"); Console.WriteLine(await r.ReadAsync()); // выведет hi

Запишите через писателя канала числа 4 и 9. Прочитайте оба через читателя и выведите их сумму.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить