【发布时间】:2011-07-29 13:47:13
【问题描述】:
这是一个奇怪的问题,最近一直困扰着我。在我们现代的多核 CPU 和多线程操作系统世界中,我们可以以真正的硬件并发运行许多进程。假设我同时在两个单独的进程中生成了两个 Program A 实例。忽略可能会改变一个或两个进程的执行时间的操作系统级干扰,这两个进程是否有可能恰好在同一时间完成?是否有任何特定的硬件/操作系统机制可以防止这种情况发生?
现在,在学究们对此进行质问之前,我想澄清一下我对“完全相同的时刻”的定义。我不是在谈论宇宙意义上的时间,只是因为它与计算机的操作有关。所以如果两个进程同时完成,那就意味着他们完成了 时差如此之小,计算机无法分辨。
编辑:“操作系统级干扰”是指中断、解决操作系统可能使用的资源争用的各种技术等。
【问题讨论】:
-
当您说“这两个进程是否有可能完成”时,您是指进程退出(在操作系统意义上),还是我们在谈论这些进程完成任务?有很大的不同。 (如果是前者,我可能会撤回我的答案)
标签: multithreading operating-system process cpu