在Python asyncio中,可以通过使用asyncio.create_task()
函数来调用另一个任务而不等待它完成。这个函数会创建一个新的任务,并立即返回一个Task
对象,而不会阻塞当前任务的执行。
下面是一个示例代码:
import asyncio
async def task1():
print("Task 1 started")
await asyncio.sleep(1)
print("Task 1 completed")
async def task2():
print("Task 2 started")
await asyncio.sleep(2)
print("Task 2 completed")
async def main():
print("Main started")
task = asyncio.create_task(task2()) # 调用task2任务,但不等待它完成
await task1() # 等待task1任务完成
print("Main completed")
asyncio.run(main())
输出结果为:
Main started
Task 1 started
Task 1 completed
Task 2 started
Main completed
Task 2 completed
在这个示例中,main()
函数是主任务,它首先调用task1()
任务并等待它完成,然后使用asyncio.create_task()
函数调用task2()
任务,但不等待它完成。因此,在main()
函数中,task2()
任务会在task1()
任务完成之前开始执行。
这种方式可以实现并发执行多个任务,提高程序的性能和响应能力。在实际应用中,可以根据具体需求灵活使用asyncio.create_task()
函数来调度任务的执行顺序。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云