2011-09-08 46 views
3

我刚开始学习如何在C#中使用任务。但我在开始时遇到了一个问题。当我运行这个代码时,控制台窗口中没有任何显示。为什么?添加状态到任务的问题

static void Main(string[] args) 
{ 
    Task task1 = new Task((obj) => PrintMsg(obj), "Hello Task"); 
    task1.Start(); 
} 

static void PrintMsg(object msg) 
{ 
    Console.WriteLine(msg); 
} 

回答

6

您的程序在任务(运行在后台线程中)之前退出可以完成。

添加task1.Wait();在完成Main()之前等待任务完成运行。

+0

你需要添加task1.Dispose();在task1.Wait()之后; ? – MonsterMMORPG

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); 
}