什么是并发?

并发(Concurrency)是指程序能够同时处理多个任务的能力。在Python中,由于全局解释器锁(GIL)的存在,多线程无法真正实现并行计算,但通过异步编程并发库,我们仍能高效管理任务执行顺序。

常见并发方式

  • 多线程(Thread):适合I/O密集型任务(如网络请求)
    Thread Safety
  • 异步IO(AsyncIO):基于事件循环,适合高并发网络应用
    Async IO
  • 多进程(Process):绕过GIL限制,适合CPU密集型任务
  • 并发库(如concurrent.futures):简化线程/进程管理

实战示例

多线程实现

import threading  

def task(name):  
    print(f"任务 {name} 开始")  
    # 模拟耗时操作  
    threading.sleep(1)  
    print(f"任务 {name} 结束")  

threads = [threading.Thread(target=task, args=(i,)) for i in range(5)]  
for t in threads:  
    t.start()  
for t in threads:  
    t.join()  

📌 注意:多线程共享全局变量时需确保线程安全

异步IO实现

import asyncio  

async def fetch_data(id):  
    print(f"开始获取数据 {id}")  
    await asyncio.sleep(1)  
    print(f"完成获取数据 {id}")  

async def main():  
    tasks = [fetch_data(i) for i in range(5)]  
    await asyncio.gather(*tasks)  

asyncio.run(main())  

🌐 扩展阅读Python异步编程进阶指南

推荐学习路径

  1. 先掌握基础语法:Python基础教程
  2. 学习线程与进程区别:Python多线程详解
  3. 探索协程与事件循环:Python异步编程
  4. 实战项目:Python并发实战案例

高效工具推荐

Concurrency Library

本文内容遵循社区规范,如需进一步探讨技术细节,请访问Python并发社区讨论