C# 如何同时运行4个进程?

C# 如何同时运行4个进程?,c#,.net,process,C#,.net,Process,我需要同时运行4个进程,怎么做 Process.Start(); Process.Start(); Process.Start(); Process.Start(); 当我这样做时,所有进程之间都有毫秒级的差异。我不能有任何不同 感谢您的所有回答。这在托管堆栈上是不可能的。您对流程执行没有那么严格的控制。 如果需要更严格的控制,则需要使用本机代码、C、C++、汇编。此外,您需要严格控制流程执行,这意味着您需要使用RTOS(实时操作系统)。在任何情况下,Windows(非实时的确定性执行引擎)都

我需要同时运行4个进程,怎么做

Process.Start();
Process.Start();
Process.Start();
Process.Start();
当我这样做时,所有进程之间都有毫秒级的差异。我不能有任何不同


感谢您的所有回答。

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

您可以通过构建自己的执行引擎并管理线程来对其进行伪控制,但这只能获得伪控制。最终,在许多情况下,它们之间的间隔仍然是毫秒

RTO只是真正的RTO,因为架构师对所有要运行的任务进行分析,并确定它们是否能在截止日期前执行。 这与同时启动它们无关。为此,您实际上必须为芯片构建API构建固件,您可以发出进程启动信号,并且所有处理器都将启动加载的进程。换句话说,如果你想做到这一点,你必须着手构建API,让每一个处理器与另一个处理器同步启动


使用CuDA(GPU计算)之类的东西是可能的,它是C++的,需要NVIDIA。OpenGL是开放式堆栈,很可能可以在任何GPU上运行,但事实是C#是一个托管堆栈,因此您必须使用本机代码,还可以访问允许进程同步的硬件API。

您不能在计算机上同时运行任何东西。这只是物理上的不可能。那是完全不可能的。这是不可能的,原因不言而喻。就在最近的一秒。:)@我很高兴你删除了这个问题。哇。回答得好。windows的嵌入式版本确实有RTOS变体,但它是一个非常不同的编程环境,我只能名义上称它为windows。@ScottChamberlain--“wino”哈哈,这可能是我几个月来看到的最有趣的答案/讨论之一。