5
我在理解如何将新任务挂起到已经运行的事件循环时遇到问题。了解asyncio已经永久运行循环和待处理任务
此代码:
import asyncio
import logging
@asyncio.coroutine
def blocking(cmd):
while True:
logging.info("in blocking coroutine")
yield from asyncio.sleep(0.01)
print("ping")
def main():
logging.info("in main funciton")
loop = asyncio.get_event_loop()
logging.info("new loop created")
logging.info("loop running forever")
loop.run_forever()
asyncio.async(blocking("ls"))
logging.basicConfig(level = logging.INFO)
main()
更改run_forever()
到run_until_complete(asyncio.async(blocking("ls"))
工作正常。但是我很困惑 - 为什么我不能在已经运行的循环上挂任务?