C# 延迟启动进程

C# 延迟启动进程,c#,process,delay,C#,Process,Delay,我如何启动5个不同的进程,每个进程都有自己的延迟,而在等待延迟完成时又不妨碍其他进程? 我不能使用异步或等待 foreach(string process1 in _processList) { // random delay Process.Start(process1); } 您可以从不同的线程启动每个进程 foreach (string process1 in _processList) { Thread t = new Thread(() =>

我如何启动5个不同的进程,每个进程都有自己的延迟,而在等待延迟完成时又不妨碍其他进程? 我不能使用异步或等待

 foreach(string process1 in _processList)
  {
     // random delay
     Process.Start(process1);
    }

您可以从不同的线程启动每个进程

foreach (string process1 in _processList)
{
  Thread t = new Thread(() => 
           {
               Thread.Sleep(/*RANDOM NUMBER*/ 5);
               Process.Start(process1);
           });
  t.Start();
}
这样,每个进程在启动前都会有一个随机计时器,并且不会因为另一个进程的启动而延迟任何进程


如果在您的情况下启动线程是完全不可能的,我建议将您的进程包装为.bat,并在这个批处理文件中添加睡眠延迟,这样所有进程都将被及时调用,睡眠延迟将得到尊重。

您可以从不同的线程启动每个进程

foreach (string process1 in _processList)
{
  Thread t = new Thread(() => 
           {
               Thread.Sleep(/*RANDOM NUMBER*/ 5);
               Process.Start(process1);
           });
  t.Start();
}
这样,每个进程在启动前都会有一个随机计时器,并且不会因为另一个进程的启动而延迟任何进程


如果在您的情况下启动线程是完全不可能的,我建议将您的进程包装为.bat,并在这个批处理文件中添加睡眠延迟,这样所有进程都将被及时调用,睡眠延迟将得到尊重。

您可以从不同的线程启动每个进程

foreach (string process1 in _processList)
{
  Thread t = new Thread(() => 
           {
               Thread.Sleep(/*RANDOM NUMBER*/ 5);
               Process.Start(process1);
           });
  t.Start();
}
这样,每个进程在启动前都会有一个随机计时器,并且不会因为另一个进程的启动而延迟任何进程


如果在您的情况下启动线程是完全不可能的,我建议将您的进程包装为.bat,并在这个批处理文件中添加睡眠延迟,这样所有进程都将被及时调用,睡眠延迟将得到尊重。

您可以从不同的线程启动每个进程

foreach (string process1 in _processList)
{
  Thread t = new Thread(() => 
           {
               Thread.Sleep(/*RANDOM NUMBER*/ 5);
               Process.Start(process1);
           });
  t.Start();
}
这样,每个进程在启动前都会有一个随机计时器,并且不会因为另一个进程的启动而延迟任何进程


如果在您的情况下启动线程是完全不可能的,我建议将您的进程包装为.bat,并在这个批处理文件中添加睡眠延迟,这样所有进程都将被及时调用,睡眠延迟将得到尊重。

您是从win forms应用程序、console应用程序、,web应用程序?是否从win forms应用程序、控制台应用程序、web应用程序启动这些流程?是否从win forms应用程序、控制台应用程序、web应用程序启动这些流程?是否从win forms应用程序、控制台应用程序、web应用程序启动这些流程?