Skip to main content
 首页 » 编程设计

python之Python和C中多线程的困惑

2024年08月28日33Renyi-Fan

据我所知,Python,使用 import thread,(或 C#)不会执行“真正的”多线程,这意味着所有线程都在 1 个 CPU 内核上运行。

但是在 C 中,在 linux 中使用 pthreads,你会得到真正的多线程。

这是真的吗?

假设这是真的,当你只有 1 个 CPU 内核(我在虚拟机中有它)时,它们之间有什么区别吗?

请您参考如下方法:

Python 使用一种叫做全局解释器锁的东西,这意味着多个 Python 线程只能在一个 native 线程中运行。

这里的官方文档中有更多文档:https://wiki.python.org/moin/GlobalInterpreterLock

在单核系统上应该没有真正的性能差异。在多核系统上,差异会根据您的操作而有所不同。 (I/O 大部分不受 GIL 影响)。