我是多線程C#的新手,所以這可能是一個非常簡單/基本的問題。我有一個使用單個工作線程執行任務的控制檯應用程序。當工作任務完成時,我想用int來退出控制檯應用程序。我很困惑如何做到這一點,因爲Main()方法需要返回值,但線程異步執行。這裏就是我想要做的事:工作線程在控制檯應用程序完成後用int退出
class Program
{
static void Main(string[] args)
{
var exitCode = 1;
var deploymentManager = new DeploymentManager(() =>
{
exitCode = 0;
return exitCode; //<----- doesn't work because main() needs to return something immediately
});
var workerThread = new Thread(deploymentManager.Deploy);
workerThread.Start();
}
}
這說明,我多麼想返回退出碼值,只有當線程完成並執行回調動作。
只需在主線程中完成工作即可。在啓動另一個線程時只有讓主線程死掉的意義何在? – Servy 2014-09-02 14:43:23
你的問題是什麼? 'Main'被允許返回一個int值 – Jonesopolis 2014-09-02 14:46:06
@Jonesy這並不能解決他的問題。 'Main'線程在他計算出退出代碼之前完成。 – Servy 2014-09-02 14:47:06