[async]子线程内开启协程 RuntimeError: There is no current event loop in thread 'Thread-2'

发布时间 2023-08-03 18:00:44作者: CJTARRR

在子线程内直接获取事件循环会报错:RuntimeError: There is no current event loop in thread 'Thread-2',此时的代码为:

loop = asyncio.get_event_loop()
loop.run_until_complete(协程函数)  # 执行

解决方法:

在子线程内创建并配置事件循环

new_loop = asyncio.new_event_loop()  # 子线程下新建时间循环
asyncio.set_event_loop(new_loop)  # 配置新建的事件循环
loop = asyncio.get_event_loop()
loop.run_until_complete(协程函数)  # 执行