持续分享:机器学习、深度学习、python相关内容、日常BUG解决方法及Windows&Linux实践小技巧。
如发现文章有误,麻烦请指出,我会及时去纠正。有其他需要可以私信我或者发我邮箱:zhilong666@foxmail.com
Jetson Xavier NX报错异常RuntimeError: There is no current event loop in thread ‘Thread-1’. 已解决
目录
一、问题描述
这个错误是我在Jetson Xavier NX使用多线程的时候遇到的,这个异常是在线程 ‘Thread-1’ 中没有当前的事件循环引起的。意思是使用 asyncio 库的时候,它就需要在主线程中创建一个事件循环并在这个事件循环上运行异步任务。
二、解决方法
解决方法其实很简单,只需要在主线程中创建和设置事件循环就行。
import asyncio
asyncio.set_event_loop(asyncio.new_event_loop())
把上面的代码放到主线程里的最开始处。
为啥将它限制在主线程的最开始处,主要原因就是避免在其他线程中运行涉及到 asyncio 的代码。将涉及到 asyncio 的代码移动到主线程里面,这样是确保有一个可用的事件循环。也意味你的异步任务会被限制在主线程里面去执行,而不是在其他线程里面执行。
版权声明:本文为Code_and516原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。