System.Threading.Channels 9.0.0
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 |
---|---|
StackExchange.Redis
High performance Redis client, incorporating both synchronous and asynchronous usage.
|
7,118 |
StackExchange.Redis
High performance Redis client, incorporating both synchronous and asynchronous usage.
|
3,291 |
StackExchange.Redis
High performance Redis client, incorporating both synchronous and asynchronous usage.
|
2,564 |
RabbitMQ.Client
The RabbitMQ .NET client is the official client library for C# (and, implicitly, other .NET languages)
|
2,267 |
RabbitMQ.Client
The RabbitMQ .NET client is the official client library for C# (and, implicitly, other .NET languages)
|
1,958 |
RabbitMQ.Client
The RabbitMQ .NET client is the official client library for C# (and, implicitly, other .NET languages)
|
1,723 |
StackExchange.Redis
High performance Redis client, incorporating both synchronous and asynchronous usage.
|
1,638 |
StackExchange.Redis
High performance Redis client, incorporating both synchronous and asynchronous usage.
|
994 |
StackExchange.Redis
High performance Redis client, incorporating both synchronous and asynchronous usage.
|
990 |
StackExchange.Redis
High performance Redis client, incorporating both synchronous and asynchronous usage.
|
950 |
RabbitMQ.Client
The RabbitMQ .NET client is the official client library for C# (and, implicitly, other .NET languages)
|
939 |
StackExchange.Redis
High performance Redis client, incorporating both synchronous and asynchronous usage.
|
925 |
Microsoft.CodeAnalysis.Workspaces.Common
A shared package used by the .NET Compiler Platform ("Roslyn") including support for analyzing projects and solutions.
Do not install this package manually, it will be added as a prerequisite by other packages that require it.
More details at https://aka.ms/roslyn-packages
This package was built from the source at https://github.com/dotnet/roslyn/commit/6a5a63bbc9f4449d9bd1e95a8f9624939c3ccdc3.
|
923 |
Microsoft.CodeAnalysis.Workspaces.Common
A shared package used by the .NET Compiler Platform ("Roslyn") including support for analyzing projects and solutions.
Do not install this package manually, it will be added as a prerequisite by other packages that require it.
More details at https://aka.ms/roslyn-packages
This package was built from the source at https://github.com/dotnet/roslyn/commit/81d9274600db701a8b08ed8af3fd6b00a775cc33.
|
851 |
StackExchange.Redis
High performance Redis client, incorporating both synchronous and asynchronous usage.
|
436 |
RabbitMQ.Client
The RabbitMQ .NET client is the official client library for C# (and, implicitly, other .NET languages)
|
326 |
StackExchange.Redis
High performance Redis client, incorporating both synchronous and asynchronous usage.
|
286 |
StackExchange.Redis
High performance Redis client, incorporating both synchronous and asynchronous usage.
|
104 |
Microsoft.AspNetCore.SignalR.Client.Core
Client for ASP.NET Core SignalR
This package was built from the source code at https://github.com/dotnet/aspnetcore/tree/3f1acb59718cadf111a0a796681e3d3509bb3381
|
70 |
RabbitMQ.Client
The RabbitMQ .NET client is the official client library for C# (and, implicitly, other .NET languages)
|
33 |
https://go.microsoft.com/fwlink/?LinkID=799421
.NET Framework 4.6.2
- Microsoft.Bcl.AsyncInterfaces (>= 9.0.0)
- 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.0)
- System.Threading.Tasks.Extensions (>= 4.5.4)
.NET Standard 2.1
- No dependencies.