我的代碼基本上是這樣的:如何同時運行多個「任務」?
for each (DirectoryInfo di in directoryList)
{
for each (FileInfo fi in di.GetFiles())
{
MyTask(fi.FullName);
Console.WriteLine(fi.FullName + " is done.");
}
}
void MyTask(string arg0)
{
Process p = new Process();
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.UseShellExecute = false;
p.StartInfo.CreateNoWindow = true;
p.StartInfo.FileName = "converter.exe";
p.StartInfo.Arguments = "-converterarguments";
p.Start();
p.WaitForExit();
}
如何讓我的程序在同一時間運行多個MyTask/converter.exe的「實例」?
爲什麼不使用任務?另外,訣竅是讓你的MyTask返回進程,所以你可以多次調用它,然後等待所有的進程。 –
注意你寫的代碼。你應該爲它們創建一個數組,並且不要調用'p.WaitForExit()',直到你把所有的'Start()'都編輯完成。 –
你真的想分開*進程嗎?你確定在你想要實現的單個程序中不是單獨的*線程嗎? – Jamiec