延迟启动进程
本文关键字:进程 启动 延迟 | 更新日期: 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,并在此批处理文件中添加睡眠延迟,这样所有进程将及时调用,睡眠延迟将得到尊重。