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 的代码移动到主线程里面,这样是确保有一个可用的事件循环。也意味你的异步任务会被限制在主线程里面去执行,而不是在其他线程里面执行。