ROS编程: 一些Tips
接触了快一年的ROS, 这段时间个人而言, 似乎完全没在日常的编程中对线程/IPC有所考虑.
这说明ROS是一个很易用的框架, 在编程上了屏蔽了很多系统知识, 可以更加专注于逻辑/算法等.
但是从程序员的角度, 其实还是蛮不安的, 需要了解其背后的机制.
1. 背景
ROS就不再介绍了, 网上有非常多的文档, 我们主要关注下ROS内部的一些行为.
下图是我之前画的ROS内部线程视角的时序图, 看看能不能帮助理解:
一个ROS节点起来后, 主要是有5个线程:
main
- main函数运行的线程
pollmanager
- io运行的线程, 主要是收发topic, 然后把数据queue后待callback消费
xmlrpcmanager
- 处理service连接的线程
internalcallbackqueue
- 调用内部callback的线程
roso

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
想了解云掣科技?首先,跟我念云掣YUNCHE……
点击蓝字 关注我们 引 子 很多同学在云掣发布后一直在询问小编,云掣科技到底是什么?和袋鼠云有什么关系呢?主营业务是什么呢?目前团队是什么样的?服务了多少客户?为什么公司名是云掣科技? 当然也有同学问我,云掣(che)是不是云擎(qin)…… 对于这些疑问,小编决定给大家科普一下,什么是云掣,关于云掣你应该知道些什么…… Q1:云掣科技是什么? 云掣(che 第四声)科技(www.dtsre.com)是一家专注于云托管(云MSP)服务的公司,作为企业级公有云生态领先的服务提供商,云掣帮助企业更高效,更安全地使用云,全面提升企业的运维效率和稳定性,助力企业完成云时代的数字化转型。 Q2:云掣科技和袋鼠云有什么关系? 在过去的三年中,袋鼠云智能运维团队服务了近百家知名企业,通过扎实的技术实力和高效的团队协作,完成了众多大型、复杂系统架构的设计、以及高并发高压环境下的的业务维稳项目。2019年,在夯实了业务基础的同时,为更好的长久提供优质专业的服务,袋鼠云将原来的智能运维业务升级成立了云掣科技。 Q3:为什么公司名叫云掣科技? ”袋鼠代表了力量与勇往直前的精神;云掣代表了速度,让未来变成现在...
- 下一篇
【直播预告】云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧
主讲人:徐雷(云栖社区特邀Java专家)徐雷,花名:徐雷frank;资深架构师,MongoDB中文社区联席主席,吉林大学计算机学士,上海交通大学硕士。从事了 10年+开发工作,专注于分布式架构,Java Spring Boot、Spring Cloud、MongoDB、Redis。 喜欢专研技术问题,擅长讲课,《MongoDB实战》第2版、《24种云计算架构设计模式》译者,2018年5月受邀成为《阿里巴巴Java和MongoDB技术认证》讲师,2018年8月与阿里巴巴资深专家P9叶翔直播《阿里巴巴MongoDB高级实战课程》 点击关注徐雷的云栖社区个人主页 内容概要: 修炼Java,面试名企!本次课程,一起总结最新的Java Spring Boot 2.0面试题,以及阿里巴巴的招聘岗位,内推信息、面试技巧,最新的行业招聘信息。 直播时间:2
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Linux系统CentOS6、CentOS7手动修改IP地址
- Red5直播服务器,属于Java语言的直播服务器
- Docker安装Oracle12C,快速搭建Oracle学习环境