Python(或其他程序)通常在1个CPU上运行吗



我运行的Python程序(在IPython/Jupyter实验室和命令行上(没有运行任何线程或标准多处理库。由于GIL的原因,我是否可以假设这些python程序将在1个CPU内核上使用和运行?我在搜索这个结果时推断出了这一点,但我没有得到确切的答案。除了多处理之外,还有什么示例库可以让Python程序使用超过1个CPU内核吗?

这对Java或C++中的其他程序来说是一样的吗?

这里问了三个问题,但我认为它们与理解(Python(程序如何使用CPU有关。如果我在某些地方缺乏理解,请告诉我。

假设正在运行的程序不依赖于并发性,但如果开发为这样做,则可以更快地运行

Python、Java和C++程序,除非特别编码为使用多线程或多处理,否则将只使用单个内核。这并不是说,当这样的程序进入等待状态时,例如等待I/O完成,然后恢复执行,它将被分配到它刚刚使用的相同内核。

然而,你正在导入的一些Python库可能在你没有意识到的情况下使用了多处理。这样的程序将使用多个核心。

最新更新