作者主页:爱笑的男孩。的博客_CSDN博客-深度学习,活动,python领域博主爱笑的男孩。擅长深度学习,活动,python,等方面的知识,爱笑的男孩。关注算法,python,计算机视觉,图像处理,深度学习,pytorch,神经网络,opencv领域.https://blog.csdn.net/Code_and516?type=blog个人简介:打工人。
持续分享:机器学习、深度学习、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 的代码移动到主线程里面,这样是确保有一个可用的事件循环。也意味你的异步任务会被限制在主线程里面去执行,而不是在其他线程里面执行。