如何完全同时运行4个进程?

Jar*_*rek 3 .net c# process

我需要在同一时间完全运行4个进程,怎么做?

Process.Start();
Process.Start();
Process.Start();
Process.Start();
Run Code Online (Sandbox Code Playgroud)

当我这样做时,所有进程之间有一个毫秒的差异.我不能有任何分歧.

谢谢你的所有答案.

N_t*_*o_P 6

这在托管堆栈上是不可能的.您没有对流程执行的严格控制.如果您需要更严格的控制,则需要使用本机代码,C,C++,汇编.此外,您需要严格控制流程执行,这意味着您需要使用RTOS(实时操作系统).在任何情况下,Windows(非实时不确定执行引擎)都无法实现此目的.

您可以通过构建自己的执行引擎然后管理线程来伪控制它,但这只会让您获得伪控制.最后,在许多情况下,它仍然会相隔几毫秒.

RTOS只是真正的RTOS,因为架构师对要运行的所有任务运行分析,并确定它们是否可以在截止日期前执行.这与同时启动它们无关.为此,您实际上必须为芯片构建API构建固件,您可以指示进程启动,并且所有处理器将启动加载的进程.换句话说,如果你想这样做,你必须深入到金属并构建API,允许每个处理器与另一个处理器同步启动.

有可能使用像C++这样的CUDA(GPU计算)并且需要nVidia.OpenGL是开放式堆栈,可以在任何GPU上执行,但事实上C#是一个托管堆栈,因此您必须转到本机代码并且还可以访问允许进程同步的硬件API.