.NET 4.5 の async および await 機能を学習しようとしています。まず、ここに私のコードを示します。
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();
}
このコードでは、コンソールに結果が表示されません。理由がわかりません。つまり、タスクは、ブロックされていない単なるスレッドではないということです。ただし、メイン メソッドで Console.WriteLine() のコメントを外すと、すべて正常に動作しているようです。
ここで何が起こっているのか誰か教えてもらえますか?