我需要在事件循环中包含我的所有功能吗?
I need to include all my function in eventloop?
如果我有事件循环和异步函数:
# asyncio_coroutine_forever.py
import asyncio
async def hello_world():
print('Hello World')
await good_evening()
async def good_evening():
print('Good Evening')
loop = asyncio.get_event_loop()
try:
loop.run_until_complete(hello_world())
loop.run_forever()
finally:
print('closing event loop')
loop.close()
函数hellp_world被eventloop调用。第二个函数good_evening,是否在同一个事件循环中?
我必须在循环中包含第二个函数还是只包含第一个函数?
如果我使用示例,第二个使用循环并切换上下文?
是的,run_until_complete
将执行你的 hello_world
未来,直到它 returns 或失败(它也会阻塞进程中的线程)。
你不必包含第二个函数,除非你想自己安排它。
run_until_complete
会 运行 一个未来,直到它完成但是,它也会导致事件循环到 运行 所以如果你安排一个未来它会 运行 之前传递给 run_util_complete
.
的函数
如果我有事件循环和异步函数:
# asyncio_coroutine_forever.py
import asyncio
async def hello_world():
print('Hello World')
await good_evening()
async def good_evening():
print('Good Evening')
loop = asyncio.get_event_loop()
try:
loop.run_until_complete(hello_world())
loop.run_forever()
finally:
print('closing event loop')
loop.close()
函数hellp_world被eventloop调用。第二个函数good_evening,是否在同一个事件循环中?
我必须在循环中包含第二个函数还是只包含第一个函数? 如果我使用示例,第二个使用循环并切换上下文?
是的,
run_until_complete
将执行你的hello_world
未来,直到它 returns 或失败(它也会阻塞进程中的线程)。你不必包含第二个函数,除非你想自己安排它。
run_until_complete
会 运行 一个未来,直到它完成但是,它也会导致事件循环到 运行 所以如果你安排一个未来它会 运行 之前传递给 run_util_complete
.