私は以下のコードを持っています:
class Program
{
static void Main(string[] args)
{
Task[] tasks = new Task[3]
{
Task.Factory.StartNew(() => Console.WriteLine("Hello A")),
Task.Factory.StartNew(() => Console.WriteLine("Hello B")),
Task.Factory.StartNew(() => Console.WriteLine("Hello C"))
};
Task.WaitAll(tasks);
Console.WriteLine("Hi ABC");
}
}
上記のコードをビルドして実行すると、次の出力が得られます
。Hello C
Hello B
Hello A
Hi ABC
しかし、Task.WaitAll(tasks)にコメントすると、出力の1つは次のようになります。HiABC
Hello
B
Hello C
Console.WriteLine( "Hi ABC")が実行を終了したときに、Console.WriteLine( "Hello A")を実行するスレッドが実行を終了する機会がなかったことを意味しますか?