import asyncio import time async def _task(): print(f"{time.strftime('%H:%M:%S')} task 开始 ") time.sleep(2) print(f"{time.strftime('%H:%M:%S')} task 结束") return "运行结束" def callback(task): print(f"{time.strftime('%H:%M:%S')} 回调函数开始运行") print(f"状态:{task.result()}") coroutine = _task() print(f"{time.strftime('%H:%M:%S')} 产生协程对象 {coroutine},函数并未被调用") task = asyncio.ensure_future(coroutine) # 返回task对象 task.add_done_callback(callback) # 为task增加一个回调任务 loop = asyncio.get_event_loop() print(f"{time.strftime('%H:%M:%S')} 开始调用协程任务") start = time.time() loop.run_until_complete(task) end = time.time() print(f"{time.strftime('%H:%M:%S')} 结束调用协程任务, 耗时{end - start} 秒")