如果我同时 运行 一个 python 和 matlab 程序,我的计算机内部会发生什么?

What will be going on inside my computer if I run a python and matlab program at once?

假设我有一台多核笔记本电脑。

我在python中写了一些代码,运行它; 然后当我的 python 代码是 运行ning 时,我打开我的 matlab 和 运行 一些其他代码。

底下发生了什么?这两个过程会自动使用多核并行处理吗?

或者计算机等待一个完成然后处理另一个?

谢谢!

P.S。我指的这两个程序在本质上可以被认为是最简单的,例如计算 1+2+3.......+10000000

答案是...这取决于!

您的操作系统不断地切换正在 [​​=26=] 的进程。后台总是有大量进程 运行ning - 刷新屏幕、向扬声器发送声音、检查更新、轮询鼠标等 - 这些进程只有在获得一定数量的处理器时间。如果你有很多核心,OS 将使用某种启发式方法来确定哪些进程应该在核心上获得一些时间。你有一种错觉,认为一切都在同一时间 运行ning 因为(1)在某种意义上,事情 运行 同时因为你有多个内核,以及 (2) 切换发生得如此之快,以至于您无法注意到它的发生。

我提出这个问题的原因是,如果您 运行 同时使用 Python 和 MATLAB,而原则上它们可以很容易地同时 运行 ,不能保证会发生这种情况,因为您可能还会发生很多其他事情。可能 Python 和 MATLAB 运行 同时进行了一段时间,然后两者都暂时暂停以允许某些正在播放音乐的程序将下一个要播放的声音片段加载到内存中,然后暂停OS 一些内存中的页面来自磁盘,另一个接管等等

你能假设它们会 运行 并行吗?当然!最合理的 OSes 会弄清楚并正确执行。你能假设 它们完全 是 运行 并行的,没有别的吗?不一定。