Python 是一种强大的编程语言,它提供了多种方式来实现并发编程。并发编程可以显著提高程序的效率,特别是在处理多任务和I/O密集型操作时。本教程将介绍 Python 中常用的并发编程技术。

什么是并发编程?

并发编程指的是同时运行多个程序或多个程序中的多个部分。在 Python 中,我们可以使用多种方法来实现并发,例如多线程、多进程和异步编程。

Python 并发编程方法

1. 多线程

Python 的 threading 模块提供了多线程的支持。多线程适用于 I/O 密集型任务,因为它们可以在等待 I/O 操作完成时切换到其他线程。

import threading

def print_numbers():
    for i in range(5):
        print(i)

# 创建线程
t1 = threading.Thread(target=print_numbers)
t2 = threading.Thread(target=print_numbers)

# 启动线程
t1.start()
t2.start()

# 等待线程完成
t1.join()
t2.join()

2. 多进程

Python 的 multiprocessing 模块提供了多进程的支持。多进程适用于 CPU 密集型任务,因为每个进程都有自己的内存空间。

from multiprocessing import Process

def print_numbers():
    for i in range(5):
        print(i)

# 创建进程
p1 = Process(target=print_numbers)
p2 = Process(target=print_numbers)

# 启动进程
p1.start()
p2.start()

# 等待进程完成
p1.join()
p2.join()

3. 异步编程

Python 的 asyncio 模块提供了异步编程的支持。异步编程允许程序在等待 I/O 操作时执行其他任务。

import asyncio

async def print_numbers():
    for i in range(5):
        print(i)
        await asyncio.sleep(1)

async def main():
    await print_numbers()

# 运行异步函数
asyncio.run(main())

扩展阅读

如果您想了解更多关于 Python 并发编程的知识,请访问我们的Python 并发编程高级教程

Python并发编程