首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >asyncio.new_event_loop创建的事件循环挂起

asyncio.new_event_loop创建的事件循环挂起
EN

Stack Overflow用户
提问于 2015-12-26 19:23:36
回答 1查看 10.7K关注 0票数 11

下面的代码在没有打印任何东西的情况下挂起:

代码语言:javascript
复制
import asyncio

async def foo(loop):
    print('foo')
    loop.stop()

loop = asyncio.new_event_loop()
asyncio.ensure_future(foo(loop))
loop.run_forever()

如果我使用get_event_loop,一切都很好。是我做错了什么,还是我偶然发现了一个bug?

我使用的是Python 3.5.1。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-26 19:37:49

asyncio.AbstractEventLoopPolicy.new_event_loop documentation说:

如果需要将此循环设置为当前上下文的事件循环,则必须显式调用set_event_loop()

代码语言:javascript
复制
import asyncio

async def foo(loop):
    print('foo')
    loop.stop()

loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop) # <----
asyncio.ensure_future(foo(loop))
loop.run_forever()
票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34470856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档