当前位置: 首页 > news >正文

【ROS2】spin、spinOnce、spin_some、spin_until_future_complete

1、简述

spinOnce仅处理一个回调函数(ROS1);
spin_some类似于ROS1的spinOnce,但处理多个任务,然后返回(ROS2);
spin会持续处理回调函数直到无任务,然后阻塞(ROS1、ROS2);

注意:
只有消息推送(publisher)功能的程序,不需要使用spin_some(),因为它不执行任何回调;
如果程序里增加订阅(subscriber)功能,则需要使用spin_some()或者spin(),否则回调将不会被调用。
spin()会进入一个无限循环:有任务时,会占用CPU来处理任务;没有任务时,会空闲,不占用CPU资源;当ros:ok()返回false时退出(比如:执行了ros::shutdown()或者Ctrl+c手动终止)

2、先看示例

2.1 spin的用法

int 
http://www.lryc.cn/news/445219.html

相关文章:

  • 化繁为简:中介者模式如何管理复杂对象交互
  • 控制STM32蜂鸣器示例代码(江科大)
  • Java基础知识扫盲
  • ZLMediaKit Windows编译以及使用
  • 基于YOLOv5s的无人机航拍输电线瓷瓶检测(附数据集与操作步骤)
  • 【Python百日进阶-Web开发-FastAPI】Day805 - FastAPI的请求体
  • 【Kubernetes】常见面试题汇总(二十八)
  • 单ISP与双ISP的区别是什么
  • 【linux】gcc makefile
  • 12.Java基础概念-面向对象-static
  • 移动开发(三):使用.NET MAUI打包第一个安卓APK完整过程
  • 数据库中的DUAL表
  • 寄宿制学校自闭症教育:为每个孩子创造奇迹
  • Vue前端无法接收到后端返回的数据以及全局CSS样式影响(已解决)
  • 力扣234 回文链表 Java版本
  • 银行性能测试怎么做?来认识下这4个性能测试工具!
  • FME学习笔记
  • 机器翻译之创建Seq2Seq的编码器、解码器
  • 锤炼核心技能以应对编程革命
  • 2024 go-zero社交项目实战
  • js跑马灯效果、横向、纵向滚动效果
  • C#基础(14)冒泡排序
  • 喜报 | 众数信科荣获2024年“火炬瞪羚企业”称号
  • 中央企业数智化薪酬信息系统建设如何实现穿透式监管?
  • 110Redis 简明教程--Redis 数据类型
  • Spring Data Rest 远程命令执行命令(CVE-2017-8046)
  • 计算机前沿技术-人工智能算法-大语言模型-最新论文阅读-2024-09-18
  • 搜索算法:Fibonacci查找
  • 软件验收测试报告有什么作用?第三方验收测试报告包括哪些内容?
  • AI大模型教程 Prompt提示词工程 AI原生应用开发零基础入门到实战【2024超细超全,建议收藏】