Пример #1
0
        public async Task <int> ChannelPerf()
        {
            var channel        = CreateChannel();
            var itemsToProduce = Capacity / ProducerCount;

            var producerFactory   = new ProducerFactory(channel.Writer, itemsToProduce);
            var subscriberFactory = new ConsumerFactory(channel.Reader);

            var prodThread = producerFactory.Start();
            var subsThread = subscriberFactory.Start();

            await Task.WhenAll(prodThread, subsThread);

            return(subsThread.Result);
        }