我的程序有以下声明3个警告:这种异步方法缺乏“等待”运营商和运行同步
这种异步方法缺乏“等待”运营商和将同步运行。 考虑使用'await'操作符来等待非阻塞API调用 或'await Task.Run(...)'在后台线程上执行CPU绑定工作。
什么是警告试图告诉我?我该怎么办?
这是我的代码:它使用多线程运行吗?
static void Main(string[] args)
{
Task task1 = new Task(Work1);
Task task2 = new Task(Work2);
Task task3 = new Task(Work3);
task1.Start();
task2.Start();
task3.Start();
Console.ReadKey();
}
static async void Work1()
{
Console.WriteLine("10 started");
Thread.Sleep(10000);
Console.WriteLine("10 completed");
}
static async void Work2()
{
Console.WriteLine("3 started");
Thread.Sleep(3000);
Console.WriteLine("3 completed");
}
static async void Work3()
{
Console.WriteLine("5 started");
Thread.Sleep(5000);
Console.WriteLine("5 completed");
}
“异步”并不意味着“多线程”。请参阅我的[inync to'async'](http://blog.stephencleary.com/2012/02/async-and-await.html)文章,了解'async'的作用。 –
@StephenCleary谢谢,文章非常好,易于理解 – mjb