Advanced Asynchronous Programming
⏱️ 4. Advanced Asynchronous Programming
🔹 Parallelism with Parallel.ForEach
Parallel.ForEach(numbers, n =>
{
Console.WriteLine($"Processing {n}");
});
🔹 Task.WhenAll / Task.WhenAny
var tasks = new[]
{
Task.Delay(1000),
Task.Delay(500),
Task.Delay(2000)
};
await Task.WhenAll(tasks); // Waits for all
🔹 Async Streams with IAsyncEnumerable<T>
async IAsyncEnumerable<int> GetNumbersAsync()
{
for (int i = 0; i < 5; i++)
{
await Task.Delay(100);
yield return i;
}
}