An open API service indexing awesome lists of open source software.

https://github.com/ukcoderj/taskorderingandwait

Simple Task Wait
https://github.com/ukcoderj/taskorderingandwait

Last synced: about 1 year ago
JSON representation

Simple Task Wait

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;

````