多进程是 Python 中一种强大的并发执行机制。通过使用多进程,可以充分利用多核 CPU 的优势,提高程序的执行效率。

什么是多进程?

多进程是指在操作系统中同时运行多个进程。每个进程都有自己的内存空间和系统资源,因此可以独立运行。

为什么使用多进程?

  1. 利用多核 CPU:多进程可以在多核 CPU 上并行执行,提高程序运行速度。
  2. 避免全局解释器锁 (GIL):在单核 CPU 上,Python 的全局解释器锁 (GIL) 会限制同一时刻只有一个线程执行 Python 代码。使用多进程可以绕过 GIL 的限制,实现真正的并行执行。

创建多进程

在 Python 中,可以使用 multiprocessing 模块创建多进程。

from multiprocessing import Process

def worker():
    print("Hello from a worker!")

if __name__ == "__main__":
    p = Process(target=worker)
    p.start()
    p.join()

进程间通信

多进程之间可以通过多种方式进行通信,例如:

  • 共享内存:使用 multiprocessing.Valuemultiprocessing.Array 创建共享内存。
  • 管道:使用 multiprocessing.Pipe 创建管道。
  • 队列:使用 multiprocessing.Queue 创建队列。

示例:计算斐波那契数列

以下是一个使用多进程计算斐波那契数列的示例:

from multiprocessing import Pool

def fib(n):
    if n <= 1:
        return n
    else:
        return fib(n-1) + fib(n-2)

if __name__ == "__main__":
    with Pool(4) as p:
        result = p.map(fib, range(10))
        print(result)

总结

多进程是 Python 中一种强大的并发执行机制。通过使用多进程,可以充分利用多核 CPU 的优势,提高程序的执行效率。更多关于多进程的内容,请访问Python 多进程教程

相关资源

multiprocessing