我正在尝试学习 .NET 4.5 的异步和等待功能。首先这是我的代码
static async void Method()
{
await Task.Run(new Action(DoSomeProcess));
Console.WriteLine("All Methods have been executed");
}
static void DoSomeProcess()
{
System.Threading.Thread.Sleep(3000);
}
static void Main(string[] args)
{
Method();
//Console.WriteLine("Method Started");
Console.ReadKey();
}
这段代码在控制台上没有给我任何结果。我不明白为什么。我的意思是不是任务假设只是没有阻塞的线程。但是,如果我在 main 方法中取消注释 Console.WriteLine() 一切似乎工作正常。
谁能告诉我这里发生了什么?