Python 多核加速 python 多核cpu_多核

一只甜甜圈

没有“多处理器”或“多核”编程之类的东西。作为应用程序程序员,“多处理器” 计算机和“多核” 计算机之间的区别可能与您无关。它与内核如何共享对内存的访问的微妙之处有关。为了利用多核(或多处理器)计算机,您需要以一种可以并行运行的方式编写程序,并需要一个运行时才能实际在多个核上并行执行该程序(并且操作系统,尽管您可以在PC上运行的任何操作系统都可以执行此操作)。这实在是并行编程,虽然有并行编程不同的方法。与Python相关的是多处理和多线程。在C,C ++,Java和C#等语言中,您可以通过执行多个线程来编写并行程序。CPython和PyPy运行时中的全局解释器锁排除了该选项;但仅适用于那些运行时。(我个人认为,多线程是危险且棘手的,Python鼓励您不要将其视为获得性能优势的一种方式,这通常是一件好事。)如果要编写一个可以在Python的多个内核上运行的并行程序,则有几种不同的选择:使用该threading模块编写一个多线程程序,然后在IronPython或Jython运行时中运行它。使用该processing模块(现已包含在Python 2.6中作为multiprocessing模块)可一次在多个进程中运行您的代码。使用该subprocess模块运行多个python解释器并在它们之间进行通信。使用扭曲和安瓿瓶。这样做的好处是不仅可以跨不同的进程运行代码,而且(如果您不共享对文件之类的访问权限)也可以跨不同的计算机运行。无论选择这些选项中的哪一个,都将需要了解如何将程序正在完成的工作分成有意义的块以进行分离。由于我不确定您正在考虑编写哪种程序,因此很难提供有用的示例。