System.Threading.Channels 9.0.10
About
The System.Threading.Channels library provides types for passing data asynchronously between producers and consumers.
Key Features
- Abstractions representing channels for one or more producers to publish data to one or more consumers
- APIs focused on asynchronous production and consumption of data
- Factory methods for producing multiple kinds of channels
How to Use
using System;
using System.Threading.Channels;
using System.Threading.Tasks;
Channel<int> channel = Channel.CreateUnbounded<int>();
Task producer = Task.Run(async () =>
{
    int i = 0;
    while (true)
    {
        channel.Writer.TryWrite(i++);
        await Task.Delay(TimeSpan.FromSeconds(1));
    }
});
Task consumer = Task.Run(async () =>
{
    await foreach (int value in channel.Reader.ReadAllAsync())
    {
        Console.WriteLine(value);
    }
});
await Task.WhenAll(producer, consumer);
Main Types
The main types provided by this library are:
- System.Threading.Channel<T>
- System.Threading.Channel
Additional Documentation
Related Packages
https://www.nuget.org/packages/System.Threading.Tasks.Dataflow/
Feedback & Contributing
System.Threading.Channels is released as open source under the MIT license. Bug reports and contributions are welcome at the GitHub repository.
Showing the top 20 packages that depend on System.Threading.Channels.
| Packages | Downloads | 
|---|---|
| RabbitMQ.Client The RabbitMQ .NET client is the official client library for C# (and, implicitly, other .NET languages) | 117 | 
| RabbitMQ.Client The RabbitMQ .NET client is the official client library for C# (and, implicitly, other .NET languages) | 86 | 
| StackExchange.Redis High performance Redis client, incorporating both synchronous and asynchronous usage. | 72 | 
| MassTransit MassTransit is a message-based distributed application framework for .NET http://masstransit-project.com | 70 | 
| MassTransit MassTransit is a message-based distributed application framework for .NET http://masstransit-project.com | 49 | 
| MassTransit MassTransit is a message-based distributed application framework for .NET http://masstransit-project.com | 46 | 
| MassTransit MassTransit is a message-based distributed application framework for .NET http://masstransit-project.com | 42 | 
| MassTransit MassTransit is a message-based distributed application framework for .NET http://masstransit-project.com | 41 | 
| StackExchange.Redis High performance Redis client, incorporating both synchronous and asynchronous usage. | 34 | 
| StackExchange.Redis High performance Redis client, incorporating both synchronous and asynchronous usage. | 33 | 
| MassTransit MassTransit is a message-based distributed application framework for .NET http://masstransit-project.com | 31 | 
| StackExchange.Redis High performance Redis client, incorporating both synchronous and asynchronous usage. | 29 | 
| MassTransit MassTransit is a message-based distributed application framework for .NET http://masstransit-project.com | 27 | 
| RabbitMQ.Client The RabbitMQ .NET client is the official client library for C# (and, implicitly, other .NET languages) | 25 | 
| StackExchange.Redis High performance Redis client, incorporating both synchronous and asynchronous usage. | 25 | 
| Serilog.Sinks.PeriodicBatching Buffer batches of log events to be flushed asynchronously. | 25 | 
| Microsoft.CodeAnalysis.VisualBasic.Workspaces .NET Compiler Platform ("Roslyn") support for analyzing Visual Basic projects and solutions.
    
      More details at https://aka.ms/roslyn-packages
      This package was built from the source at https://github.com/dotnet/roslyn/commit/bde21ee2b98b775b010d01a93f81ef587fe80962. | 25 | 
| RabbitMQ.Client The RabbitMQ .NET client is the official client library for C# (and, implicitly, other .NET languages) | 24 | 
| StackExchange.Redis High performance Redis client, incorporating both synchronous and asynchronous usage. | 24 | 
https://go.microsoft.com/fwlink/?LinkID=799421
.NET Framework 4.6.2
- Microsoft.Bcl.AsyncInterfaces (>= 9.0.10)
- System.Threading.Tasks.Extensions (>= 4.5.4)
.NET 8.0
- No dependencies.
.NET 9.0
- No dependencies.
.NET Standard 2.0
- Microsoft.Bcl.AsyncInterfaces (>= 9.0.10)
- System.Threading.Tasks.Extensions (>= 4.5.4)
.NET Standard 2.1
- No dependencies.