System.Threading.Channels 9.0.3
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.
|
457 |
|
Npgsql
Npgsql is the open source .NET data provider for PostgreSQL.
|
407 |
|
Serilog
Simple .NET logging with fully-structured events
|
233 |
|
Serilog
Simple .NET logging with fully-structured events
|
211 |
|
StackExchange.Redis
High performance Redis client, incorporating both synchronous and asynchronous usage.
|
56 |
|
StackExchange.Redis
High performance Redis client, incorporating both synchronous and asynchronous usage.
|
53 |
|
StackExchange.Redis
High performance Redis client, incorporating both synchronous and asynchronous usage.
|
45 |
|
StackExchange.Redis
High performance Redis client, incorporating both synchronous and asynchronous usage.
|
33 |
|
StackExchange.Redis
High performance Redis client, incorporating both synchronous and asynchronous usage.
|
23 |
|
Serilog
Simple .NET logging with fully-structured events
|
18 |
|
StackExchange.Redis
High performance Redis client, incorporating both synchronous and asynchronous usage.
|
13 |
|
NATS.Client.Core
NATS core client for .NET
|
12 |
|
NATS.Client.Core
NATS core client for .NET
|
11 |
|
StackExchange.Redis
High performance Redis client, incorporating both synchronous and asynchronous usage.
|
9 |
|
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/75e79dace86b274327a1afe479228d82a06051a4.
|
8 |
|
Microsoft.CodeAnalysis.CSharp.Workspaces
.NET Compiler Platform ("Roslyn") support for analyzing C# 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/75e79dace86b274327a1afe479228d82a06051a4.
|
8 |
|
Microsoft.CodeAnalysis
.NET Compiler Platform ("Roslyn").
This is the all-in-one package (a superset of all assemblies). You can install any of these sub-packages if you only want part of the functionality:
- "Microsoft.CodeAnalysis.CSharp.Workspaces" (C# compiler + services)
- "Microsoft.CodeAnalysis.VisualBasic.Workspaces" (VB compiler + services)
- "Microsoft.CodeAnalysis.Compilers" (both compilers)
- "Microsoft.CodeAnalysis.CSharp" (only the C# compiler)
- "Microsoft.CodeAnalysis.VisualBasic (only the VB compiler)
More details at https://aka.ms/roslyn-packages
This package was built from the source at https://github.com/dotnet/roslyn/commit/75e79dace86b274327a1afe479228d82a06051a4.
|
7 |
|
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/75e79dace86b274327a1afe479228d82a06051a4.
|
7 |
|
NATS.Client.Core
NATS core client for .NET
|
6 |
https://go.microsoft.com/fwlink/?LinkID=799421
.NET Framework 4.6.2
- Microsoft.Bcl.AsyncInterfaces (>= 9.0.3)
- 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.3)
- System.Threading.Tasks.Extensions (>= 4.5.4)
.NET Standard 2.1
- No dependencies.