using System.Threading.Tasks;
using System.Collections;
Console.WriteLine("Початок виконання програми.");
var task1 = DoWorkAsync("Task 1", 1000);
var task2 = DoWorkAsync("Task 2", 2000);
var task3 = DoWorkAsync("Task 3", 4000);
Console.WriteLine("Завдання створені, але ще не очікуються.");
Console.WriteLine("Очікуємо завершення всіх завдань...");
await Task.WhenAll(task1, task2, task3);
Console.WriteLine("Всі завдання завершені.");
static async Task DoWorkAsync(string taskName, int delay)
Console.WriteLine($"{taskName} почав виконання.");
Console.WriteLine($"{taskName} завершив виконання. Дата: {DateTime.Now.ToLongTimeString()}");