理论值:
单个CPU一次可以执行一个进程。线程也是轻量级的过程。这意味着CPU可以一次执行一个线程。
如上所述here
CPython实现细节:在CPython中,由于Global Interpreter Lock,只有一个线程可以同时执行Python代码(即使某些面向性能的库可能会克服此限制)。如果您希望应用程序更好地利用多核机器的计算资源,建议您使用多处理。但是,如果要同时运行多个I / O绑定任务,则线程仍然是一个合适的模型。
问题:
我对(第一个问题)的理解:
单CPU :全局解释器锁无关紧要。
多核CPU :在多核CPU中,由于全局解释器锁定,我们将无法利用线程。
这是否意味着我们可以在多核CPU中实现并行处理?
我对第一个问题的理解是否正确?其他问题的答案也是什么?
P.S:在阅读了上述问题之后,您必须了解我对(多)线程/(多)处理/多任务处理/ OS与Python的理解是否正确连接。我刚问了这个问题,以便我可以连接点。如果您能提供任何可以使理解正确的链接/博客/书籍,我们将非常感激。