Мой код в основном что-то вроде этого:Как запустить несколько «задач» одновременно?
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'у Process, поэтому вы можете называть его несколько раз, а затем ждать их всех. –
Обратите внимание на код, который вы написали. Вы должны создать массив из них и не называть 'p.WaitForExit()' до тех пор, пока вы не нажмете 'Start()' all. –
Вы действительно хотите отдельные * процессы *? Вы уверены, что не отдельные * нити * в рамках вашей единственной программы, которую вы пытаетесь достичь? – Jamiec