![]() |
VOOZH | about |
dotnet add package Soenneker.ConcurrentProcessing.Executor --version 4.0.301
NuGet\Install-Package Soenneker.ConcurrentProcessing.Executor -Version 4.0.301
<PackageReference Include="Soenneker.ConcurrentProcessing.Executor" Version="4.0.301" />
<PackageVersion Include="Soenneker.ConcurrentProcessing.Executor" Version="4.0.301" />Directory.Packages.props
<PackageReference Include="Soenneker.ConcurrentProcessing.Executor" />Project file
paket add Soenneker.ConcurrentProcessing.Executor --version 4.0.301
#r "nuget: Soenneker.ConcurrentProcessing.Executor, 4.0.301"
#:package Soenneker.ConcurrentProcessing.Executor@4.0.301
#addin nuget:?package=Soenneker.ConcurrentProcessing.Executor&version=4.0.301Install as a Cake Addin
#tool nuget:?package=Soenneker.ConcurrentProcessing.Executor&version=4.0.301Install as a Cake Tool
👁 alternate text is missing from this package README image
👁 alternate text is missing from this package README image
👁 alternate text is missing from this package README image
👁 alternate text is missing from this package README image
This executor efficiently handles multiple tasks with controlled concurrency. It is ideal for managing parallel execution of tasks while ensuring that no more than a specified number of tasks run simultaneously.
?? Note:
dotnet add package Soenneker.ConcurrentProcessing.Executor
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using Soenneker.ConcurrentProcessing.Executor;
public class Program
{
public static async Task Main(string[] args)
{
var executor = new ConcurrentProcessingExecutor(maxConcurrency: 3);
var tasks = new List<Func<CancellationToken, ValueTask>>
{
async (ct) => {
Console.WriteLine("Task 1 started");
await Task.Delay(500, ct);
Console.WriteLine("Task 1 completed");
},
async (ct) => {
Console.WriteLine("Task 2 started");
await Task.Delay(300, ct);
Console.WriteLine("Task 2 completed");
},
async (ct) => {
Console.WriteLine("Task 3 started");
await Task.Delay(700, ct);
Console.WriteLine("Task 3 completed");
},
async (ct) => {
Console.WriteLine("Task 4 started");
await Task.Delay(400, ct);
Console.WriteLine("Task 4 completed");
}
};
await executor.Execute(tasks);
}
}
Task 1 started
Task 2 started
Task 3 started
Task 1 completed
Task 4 started
Task 2 completed
Task 3 completed
Task 4 completed
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 net10.0 is compatible. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
Showing the top 1 NuGet packages that depend on Soenneker.ConcurrentProcessing.Executor:
| Package | Downloads |
|---|---|
|
Soenneker.Cosmos.Repository
A data persistence abstraction layer for Cosmos DB |
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 4.0.301 | 0 | 6/19/2026 |
| 4.0.300 | 0 | 6/19/2026 |
| 4.0.299 | 21 | 6/18/2026 |
| 4.0.297 | 1,176 | 6/10/2026 |
| 4.0.296 | 149 | 6/9/2026 |
| 4.0.295 | 1,217 | 6/6/2026 |
| 4.0.294 | 96 | 6/6/2026 |
| 4.0.292 | 91 | 6/5/2026 |
| 4.0.290 | 154 | 6/5/2026 |
| 4.0.289 | 1,386 | 5/13/2026 |
| 4.0.288 | 94 | 5/12/2026 |
| 4.0.287 | 1,622 | 4/23/2026 |
| 4.0.286 | 223 | 4/23/2026 |
| 4.0.285 | 115 | 4/23/2026 |
| 4.0.282 | 339 | 4/22/2026 |
| 4.0.281 | 589 | 4/14/2026 |
| 4.0.280 | 182 | 4/14/2026 |
| 4.0.279 | 1,953 | 3/13/2026 |
| 4.0.278 | 109 | 3/13/2026 |
| 4.0.277 | 195 | 3/13/2026 |
Update dependency Soenneker.Extensions.Enumerable to 4.0.635 (#748)