Windows7是否自动为Python 3代码使用多个处理器?

Windows7是否自动为Python 3代码使用多个处理器?,python,windows-7,parallel-processing,Python,Windows 7,Parallel Processing,我有windows 7,我编写了一个python程序,在多个数据库上循环(“for loops”,即“for key in dict”),检查各种条件(例如,如果dict中的x,y+=1),然后计算结果。我没有做任何事情来使这个过程并行化。我的计算机上有8个CPU核。当我在运行程序时启动Windows任务管理器时,它会在所有8个内核上显示大量活动。windows是否在多个处理器上执行parralel中的for循环,而我什么也不做?代码执行速度很快 否。Python的C实现一次只允许一个线程解释一

我有windows 7,我编写了一个python程序,在多个数据库上循环(“for loops”,即“for key in dict”),检查各种条件(例如,如果dict中的x,y+=1),然后计算结果。我没有做任何事情来使这个过程并行化。我的计算机上有8个CPU核。当我在运行程序时启动Windows任务管理器时,它会在所有8个内核上显示大量活动。windows是否在多个处理器上执行parralel中的for循环,而我什么也不做?代码执行速度很快

否。Python的C实现一次只允许一个线程解释一个字节码。利用多核的唯一方法是使用多线程或多进程

但是,您完全有可能看到与脚本相关的多个核心活动。假设您打开了几个文件进行读写。在某些情况下,操作系统将缓冲Python正在进行的读/写调用(代表您的脚本),并在该语句完成之前将控制权返回到下一个语句。然而,进行优化的是操作系统而不是Python

Python的Java实现将完成Java本机版本在您的操作系统上所做的一切


是对同一主题的更完整的讨论。

您的问题的答案是“不”——无论您的8个内核中有7个内核发生了什么,都是Windows“在后台”做它的事情(服务等等)。当您确实想要在多个核上并行化时,您需要使用Python标准库的模块(还有其他方法,但没有一种方法像这样简单)