由浅入深走进Python异步编程【asyncio实现】(含代码实例讲解 || coroutine,Task,Future,事件循环)
import asyncio
async def coroutine_example():
print("In coroutine_example")
await asyncio.sleep(1)
print("Leaving coroutine_example")
async def task_example():
print("In task_example, creating a task for coroutine_example")
task = asyncio.create_task(coroutine_example())
print(f"Task status before await: {task.done()}")
await task
print(f"Task status after await: {task.done()}")
async def main():
print("In main, creating a task for task_example")
task = asyncio.create_task(task_example())
print(f"Main: About to wait for the task, status={task.done()}")
await task
print(f"Main: Task completed, status={task.done()}")
# 运行事件循环
asyncio.run(main())
这段代码首先定义了一个异步函数coroutine_example
,它只是简单地等待一秒钟。然后定义了另一个异步函数task_example
,它创建了coroutine_example
的任务,并等待该任务完成。最后,在main
函数中创建了task_example
的任务并等待其完成。这个过程展示了如何创建和管理异步任务,并使用asyncio.run
来运行异步主函数。
评论已关闭