Is rospython subscriber thread safe?
Hey
I'm trying to write a python node, which has one class and two member functions as callback functions.
so a TimeSynchronizer and Subscriber in a node.
I saw in this link and tested that python subscribers are event-driven model and are in separate threads.
https://robotics.stackexchange.com/qu...
My question here is , are they thread safe when they are working on the same class member? e.g. self.a below.
Do I need to write a lock? Where can I find more information about this?
Thank you in advanced!!!!
class mr_listener(object):
def __init__(self):
self.a = [1,2,3,4,5]
rospy.init_node('mr_listener', anonymous=True)
scan_subscriber = message_filters.Subscriber('/scan',LaserScan)
pose_subscriber = message_filters.Subscriber('/slam_out_pose', PoseStamped)
ts = message_filters.ApproximateTimeSynchronizer([scan_subscriber,projected_scan_subscriber,pose_subscriber], 10, 0.1, allow_headerless=True)
ts.registerCallback(self.callback1)
rospy.Subscriber("chatter", String, self.callback2)
rospy.spin()
def callback1(self,scan,pose):
somthing
def callback2(self,chatt):
somingthing
rospy.sleep(1.)