一文掌握Python 中的同步和异步

360影视 欧美动漫 2025-05-06 10:50 2

摘要:import asyncioasync def cut: print("Cutting sheet...") await asyncio.sleep(2) print("Cut done.")async def drill: print("Drilling h

同步就像在一个流水线上工作,每个任务都等待前一个任务完成。

示例:

机器 A 切割钢板→完成后,机器 B 钻孔→完成后,机器 C 上色。

在 Python 中,同步代码看起来像这样:

import timedef cut: print("Cutting sheet...") time.sleep(2) print("Cut done.")def drill: print("Drilling holes...") time.sleep(2) print("Drilling done.")def paint: print("Painting...") time.sleep(2) print("Painting done.")cutdrillpaint

这会逐个步骤运行。总时间:6秒(每步2秒 × 3)。

异步就像同时运行三台机器。当其中一台等待时(例如,油漆干燥),其他机器可以继续工作。

在 Python 中,异步代码允许你在不停止其他所有操作的情况下处理需要等待的任务(如网络调用、文件读取或时间延迟)。

这是异步版本:

import asyncioasync def cut: print("Cutting sheet...") await asyncio.sleep(2) print("Cut done.")async def drill: print("Drilling holes...") await asyncio.sleep(2) print("Drilling done.")async def paint: print("Painting...") await asyncio.sleep(2) print("Painting done.")async def main: await asyncio.gather(cut, drill, paint)asyncio.run(main)

这个版本同时运行切割 钻孔油漆 。总时间:大约 2 秒——快得多!

来源:自由坦荡的湖泊AI一点号

相关推荐