我的程序有以下聲明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