python3 高并发

王芹婷 2周前 12浏览 0评论

Python3 是一种高级程序语言,它极大地改善了对并发的支持。并发是指在一段时间内,多个活动同时执行的能力。开发者可以使用 Python3 的模块进行多线程和多进程编程,从而提高程序的并发处理能力。

import threading

def worker():
    print("工作线程启动")
    for i in range(5):
        print("工作中...")
    print("工作线程结束")

t1 = threading.Thread(target=worker)
t2 = threading.Thread(target=worker)
t1.start()
t2.start()

在上面的代码中,我们使用 Python3 的 threading 模块来创建两个线程(t1 和 t2)来执行 worker 函数。这个函数定义了线程要执行的工作。当我们运行这段代码时,我们可以看到两个工作线程同时执行。这就是并发。

如果我们想要更高级的并发处理能力,我们可以使用 Python3 自带的 asyncio 模块。这个模块基于事件循环机制,可以帮助我们编写高效的异步 I/O 代码。

import asyncio

async def worker():
    print("工作任务启动")
    for i in range(5):
        print("工作中...")
        await asyncio.sleep(1)
    print("工作任务结束")

async def main():
    tasks = []
    for i in range(3):
        tasks.append(asyncio.create_task(worker()))
    await asyncio.gather(*tasks)

asyncio.run(main())

在上面的代码中,我们使用 Python3 的 asyncio 模块创建了一个包含三个任务的事件循环。每个任务都是一个异步函数,由 asyncio.create_task() 函数创建并加入到事件循环中。这三个任务将同时执行,而不会相互阻塞。

总的来说,Python3 的并发处理能力提供了很大的帮助,让我们可以编写高效的程序。要注意的是,编写并发程序需要更加细致的思考,需要注意线程安全和死锁等问题。