我刚开始学习如何在C#中使用Task。但我一开始就遇到了问题。当我运行此代码时,控制台窗口中没有任何内容显示。为什么?'
static void Main(string[] args)
{
Task task1 = new Task((obj) => PrintMsg(obj), "Hello Task");
task1.Start();
}
static void PrintMsg(object msg)
{
Console.WriteLine(msg);
}
答案 0 :(得分:6)
在任务(在后台线程中运行)完成之前,您的程序正在退出。
添加task1.Wait();
以等待任务完成运行,然后再完成Main()
。
答案 1 :(得分:3)
添加一些代码来等待任务:
static void Main(string[] args)
{
Task task1 = new Task((obj) => PrintMsg(obj), "Hello Task");
task1.Start();
// or Console.ReadLine();
task1.Wait();
}
static void PrintMsg(object msg)
{
Console.WriteLine(msg);
}