110,567
社区成员
发帖
与我相关
我的任务
分享
using System;
using System.Threading;
using System.Threading.Tasks;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
test();
Console.WriteLine("..................按任意键结束程序");
Console.ReadKey();
}
static async void test()
{
for (var i = 0; i < 5; i++)
{
Console.WriteLine($"i={i}.....开始");
var task1 = Task.Run(() => action_1());
var task2 = Task.Run(() => action_2());
await Task.WhenAll(task1, task2);
Console.WriteLine($"i={i}.....已经等到各任务结束!{(i != 4 ? "100毫秒后继续处理\r\n":"")}");
await Task.Delay(100);
}
}
static void action_1()
{
Console.WriteLine("开始执行 1");
Thread.Sleep(new Random().Next(1, 3000));
Console.WriteLine("过程 1 执行完毕");
}
static void action_2()
{
Console.WriteLine("开始执行 2");
Thread.Sleep(new Random().Next(1, 3000));
Console.WriteLine("过程 2 执行完毕");
}
}
}