在Python中,使用asyncio库来进行异步编程。async与await是两个关键字,用于异步编程。

异步编程是指在程序执行时,不必等待耗时操作的完成,而是通过异步执行来进行。在Python中,使用asyncio库来进行异步编程。async与await是两个关键字,用于异步编程。

async定义了一个函数为异步函数,因为异步编程中的耗时操作是非阻塞的。await则是用于等待耗时操作完成的关键字,它只能在异步函数中使用。

下面是async与await的使用规则:

  1. 定义异步函数:使用async关键字定义一个异步函数,定义格式为:async def 函数名(参数列表)。

  2. 需要等待的操作:在异步函数中,使用await关键字,等待某个操作完成。

  3. 调用异步函数:由于异步函数不是立即执行的,需要使用Event Loop调用异步函数。

下面是一个使用async与await的例子:

import asyncio
async def task1():
    print("Start Task1")
    await asyncio.sleep(3)   # 等待3秒
    print("End Task1")
    
async def task2():
    print("Start Task2")
    await asyncio.sleep(5)   # 等待5秒
    print("End Task2")
    loop = asyncio.get_event_loop()   # 获取Event Loop
	tasks = [loop.create_task(task1()), loop.create_task(task2())]   # 将两个异步函数添加到任务列表中
	loop.run_until_complete(asyncio.wait(tasks))   # 执行所有的任务
	loop.close()   # 关闭Event Loop
    

在上面的例子中,定义了两个异步函数,分别为task1和task2。在调用时使用了asyncio.sleep()函数等待一段时间,模拟耗时操作。在主程序中,获取了Event Loop,并使用loop.create_task()函数将两个异步函数添加到任务列表中,最后使用loop.run_until_complete()函数执行所有任务。

输出结果为:

Start Task1 Start Task2 End Task1 End Task2

从输出结果中可以看出,task1和task2函数在异步执行时,不像同步编程需要等待任务完成后才能进行下一个任务。这就是异步编程的优势所在。

猜你喜欢

转载自blog.csdn.net/a18302465887/article/details/130348658