ros::spin()和ros::spinOnce()介绍讲解及区别
首先要理解的一点是,任何一个发布和订阅,都会有其对应的发布缓存区和订阅缓存区,正如advertise和subscribe函数中都有缓存数量的参数。当有发布者发布消息后,会存放在发布缓存区,如果该topic有订阅者,则从发布缓存区读取到订阅缓存区,等待被使用。spin()和spinOnce()的目的都是将消息从订阅缓存区拿到回调函数中去,那么这两者有什么区别呢?spinOnce()当程序运行到spinOnce()时,程序到相应的topic订阅缓存区查看是否存在消息,如果有消息,则将消息传入回调函数执行回
原创
2020-07-16 10:24:07 ·
495 阅读 ·
0 评论