ros1 py 订阅者是否运行不同的线程?如果是这样,我应该小心使用指向 msg 数据的变量吗?

问题描述

我有一个 rospy 回调,它将消息数据保存到 python 中的一个变量中,如下所示:

@H_404_3@def my_callback(self,data):
  self.message = data

我在类中的 ros ti 方法中处理此消息,如下所示:

@H_404_3@def my_timer(self,event):
  # use self.message to do something
  # take 10 seconds to do something
  # use self.message to do something else

如果回调使用线程,并且如果我在 my_timer 方法的不同部分处理消息所花费的时间,在执行 my_timer 时 self.message 中的数据是否会发生变化?我是否应该为此自己实现 bool 锁,以便我知道 self.message 值在 my_timer 方法内的所有使用位置都相同?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)