是的,由于全局解释器锁定(GIL),一次只能运行一个线程。以下是一些有关此方面的见解的链接:
让我解释一下这一切的含义。线程在同一虚拟机内运行,因此在同一物理机上运行。进程可以在同一台物理计算机上运行,??也可以在另一台物理计算机上运行。如果您围绕线程构建应用程序,则您无济于事可访问多台计算机。因此,您可以扩展到一台计算机上的多个内核(随着时间的推移,内核数量会增加很多),但是要真正达到Web规模,则无论如何都需要解决多计算机问题。
如果要使用多核,则pyprocessing定义基于进程的API来进行真正的并行化。该PEP还包括了一些有趣的基准。