延迟启动进程

本文关键字:进程 启动 延迟 | 更新日期: 2023-09-27 18:04:16

我如何启动5个不同的进程,每个进程都有自己的延迟,而不会在等待延迟完成时耽误其他进程?我不能使用async或await

 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,并在此批处理文件中添加睡眠延迟,这样所有进程将及时调用,睡眠延迟将得到尊重。