SHAREDHow to use Task.WhenEach in .NET 9

How to use Task.WhenEach in .NET 9

How to use Task.WhenEach in .NET 9


using var tokenSource = new CancellationTokenSource(10_000);
var token = tokenSource.Token;
await foreach (var data in Task.WhenEach(tasks).WithCancellation(token))
{
    if (!tokenSource.TryReset()) 
        token.ThrowIfCancellationRequested();
    Console.WriteLine(await data);
    tokenSource.CancelAfter(10_000);
}

In the preceding code example, CancellationTokenSource is used to create instances of a CancellationToken, which represents a cancellation token to be used for cancellation of a task. The ThrowIfCancellationRquested method is called to throw an OperationCanceledException if cancellation has been requested. The CancelAfter method is used to schedule a cancel operation once the specified number of milliseconds elapses.

Key takeaways

The Task.WhenEach is a new asynchronous static method introduced in .NET 9 that addresses the limitations of the Task.WhenAll and Task.WhenAny methods. By enabling the immediate processing of completed tasks, it enhances the performance and scalability of your applications considerably.

Note that you can use ThrowIfCancellationRequested from within a task only. In this case, you will not have to handle any exception explicitly. Instead, when this method is called on a token instance, the execution leaves the currently running task and the Task.IsCancelled property is set to True.

Latest news

5 Ways GPU is Utilized in Private Cloud

5 Ways GPU is Utilized in Private Cloud GPUs (Graphics Processing Units) are increasingly being utilized in cloud services due...

Godlike.Host Review – Good Up and Coming Game Server Hosting Provider?

Godlike.Host Free Pros High-performance servers Global network of data centers Robust security features Scalable hosting solutions Responsive customer...

Win-Win-Win for Industry, Customer and the Environment

Ian Moyse, Cloud Thought Leader Huawei continues to innovate and spread the word of tech for good and in its...

Silvio Di Benedetto – Azure File Sync CVE-2024-21397

News Last Updated: February 14, 2024 1 Min Read Yesterday, which coincided with the...

Silvio Di Benedetto – Microsoft Copilot for Security: configuration and usage

Questo articolo è disponibile anche in lingua italiana, al seguente link – Microsoft Copilot for Security: get started ed...

Must read

Top 10 CIO Trends for 2019

As we get ready to close out 2018 and...

Are the cloud wars over or just getting started?

One of the biggest opportunities for enterprises large and...

You might also likeRELATED
Recommended to you