2011-09-08 44 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); 
}