![]() |
От: | AK107 | |
Дата: | 02.01.17 11:15 | ||
Оценка: |
var task = Task.Delay(TimeSpan.FromSeconds(1));
Console.WriteLine("Task: Delay started.");
task.ContinueWith(x => // 1
{
Thread.Sleep(1000);
Console.WriteLine("\tTask: ContinueWith started.");
Thread.Sleep(1000);
Console.WriteLine("\tTask: ContinueWith done.");
}, TaskContinuationOptions.ExecuteSynchronously);
Console.WriteLine("WhenAll: started.");
var whenAll = Task.WhenAll(task);
whenAll.ContinueWith(x => // 2
{
Thread.Sleep(1); // 3
Console.WriteLine("\tWhenAll: ContinueWith run.");
Thread.Sleep(1000);
Console.WriteLine("\tWhenAll: ContinueWith done.");
}, TaskContinuationOptions.ExecuteSynchronously);
Console.WriteLine("WhenAll: Wait started.");
whenAll.Wait();
Console.WriteLine("WhenAll: Wait done.");
Task: Delay started.
WhenAll: started.
WhenAll: Wait started.
Task: ContinueWith started.
Task: ContinueWith done.
WhenAll: Wait done.
WhenAll: ContinueWith run.
WhenAll: ContinueWith run.
WhenAll: ContinueWith done.