如果想在一个节点同时发布订阅多个话题就要使用到多线程机制,在C++中如何使用多线程,在C++中开多线程模板已经有了介绍,就是下面这个:文章来源:https://www.toymoban.com/news/detail-682397.html
#include<thread>
void listenThread() {
// 线程1内容
}
void sendThread() {
// 线程2内容
}
int main() {
std::thread sendThreadObj(sendThread);
std::thread listenThreadObj(listenThread);
listenThreadObj.join();
sendThreadObj.join();
return 0;
}
但是有一点需要注意的是,创建节点的涉及到一个主线程,如果想同时发布订阅是不能使用主线程的(也就是不能主线程发布订阅,再新建一个线程做另一个功能),必须在主线程之外重新创建两个线程操作发布订阅(原因可能是前者线程之间可能会互锁,反正功能实现不了)文章来源地址https://www.toymoban.com/news/detail-682397.html
到了这里,关于ROS实现一个节点同时发布订阅多个话题(C++版)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!