https://github.com/ukcoderj/taskorderingandwait
Simple Task Wait
https://github.com/ukcoderj/taskorderingandwait
Last synced: about 1 year ago
JSON representation
Simple Task Wait
- Host: GitHub
- URL: https://github.com/ukcoderj/taskorderingandwait
- Owner: ukcoderj
- Created: 2023-10-26T13:06:35.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-10-26T13:09:45.000Z (over 2 years ago)
- Last Synced: 2025-04-19T11:54:51.728Z (about 1 year ago)
- Size: 4.88 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Task Ordering And Wait
Simple Task Wait
````
public class Thing
{
public int Id { get; set; }
public string Nm { get; set; }
public async Task DoSomething()
{
Random random = new Random();
var waitTime = random.Next(0, 20);
await Task.Delay(waitTime);
string detail = $"{Id} - Done";
Console.WriteLine(detail);
return detail;
}
}
Console.WriteLine("*************************************************************");
Console.WriteLine("Kick Off Tasks - Order Will Be Random");
List> tasks = new List>();
for (int i = 0; i < 10; i++)
{
var thisCar = new Thing() { Id = i, Nm = $"Thing {i}" };
tasks.Add(thisCar.DoSomething());
}
var results = await Task.WhenAll(tasks);
Console.WriteLine("*************************************************************");
Console.WriteLine("Get Task Results - Results Will Be Ordered");
foreach (var taskResponse in results)
{
Console.WriteLine($"Final: {taskResponse}");
}
Console.WriteLine("ALL COMPLETE");
Console.WriteLine("*************************************************************");
return;
````