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

广西钦州有人帮做网站的公司吗百度搜索引擎关键词优化

广西钦州有人帮做网站的公司吗,百度搜索引擎关键词优化,网站设计赏析,c2b电商平台有哪些【前言】 众所周知,ROS中的所有回调函数,都由 ros::spin() 这个家伙来统一管理和唤醒。这里说的是所有通过ROS方式创建出来的回调函数,比如ros::Subscriber、ros::Timer等等的回调函数。 【举例】 我们先来看一个示例节点: #i…

【前言】

众所周知,ROS中的所有回调函数,都由 ros::spin() 这个家伙来统一管理和唤醒。这里说的是所有通过ROS方式创建出来的回调函数,比如ros::Subscriber、ros::Timer等等的回调函数。

【举例】

我们先来看一个示例节点:

#include <ros/ros.h>
#include <cstdlib>
#include <time.h>
#include <iostream>void test_1()
{usleep(200 * 1000);ROS_INFO("test 1");
}void test_2()
{ROS_INFO("test 2");
}int main(int argc, char** argv)
{ros::init(argc, argv, "test_node");ros::NodeHandle nh;ros::Timer timer_1 = nh.createTimer(ros::Duration(0.1), [&](const ros::TimerEvent &){test_1();});ros::Timer timer_2 = nh.createTimer(ros::Duration(0.05), [&](const ros::TimerEvent &){test_2();});ros::spin();return 1;
}

你猜 timer_2 定时器的回调函数 test_2() 的实际运行频率是多少?会是我们设置的0.05秒一次吗?

很遗憾,test_2() 的实际运行频率是 0.2秒一次!

聪明的你肯定已经察觉出端倪,test_1() 这个回调中阻塞了200毫秒,并且它也影响了 test_2() 的调用。

没错,ros::spin() 是通过单线程的方式,管理所有回调函数的!!!

【出路】

那如果我们的节点中,有些回调函数确实需要执行一些复杂操作,导致回调执行被阻塞一段时间,我们又该怎么办呢?

此时,我们应该把 spin() 替换成 ros::AsyncSpinner ,也就是异步的多线程回调执行器!同样是上面的代码,我们做一下修改:

#include <ros/ros.h>
#include <cstdlib>
#include <iostream>
#include <time.h>void test_1()
{usleep(200 * 1000);ROS_INFO("test 1");
}void test_2()
{ROS_INFO("test 2");
}int main(int argc, char** argv)
{ros::init(argc, argv, "test_node");ros::NodeHandle nh;ros::Timer timer_1 = nh.createTimer(ros::Duration(0.1), [&](const ros::TimerEvent &){test_1();});ros::Timer timer_2 = nh.createTimer(ros::Duration(0.05), [&](const ros::TimerEvent &){test_2();});ros::AsyncSpinner spinner(4);           //非阻塞式的spinner, 可以使用start和stop进行启停spinner.start();                        //启动线程ros::waitForShutdown();return 1;
}

再次运行这个节点,你会发现,test_2() 的执行频率变成了我们期望的 20Hz了。

注意:上面代码中的 spinner(4) 代表开启4个线程循环,你可以根据你的运行环境,设置影响的线程数量。


文章转载自:
http://quercitron.c7622.cn
http://ventriloquism.c7622.cn
http://amnesiac.c7622.cn
http://hobo.c7622.cn
http://ymha.c7622.cn
http://triangle.c7622.cn
http://charmer.c7622.cn
http://salat.c7622.cn
http://moulin.c7622.cn
http://sleepwalker.c7622.cn
http://reseizure.c7622.cn
http://lpn.c7622.cn
http://haeckelian.c7622.cn
http://spectroscopic.c7622.cn
http://unbidden.c7622.cn
http://lacrimal.c7622.cn
http://onomatopoesis.c7622.cn
http://actomyosin.c7622.cn
http://factorial.c7622.cn
http://mobocracy.c7622.cn
http://whittret.c7622.cn
http://frolicly.c7622.cn
http://kennedy.c7622.cn
http://staniel.c7622.cn
http://neogene.c7622.cn
http://lymphosarcoma.c7622.cn
http://ringwise.c7622.cn
http://airlike.c7622.cn
http://spick.c7622.cn
http://nonpolicy.c7622.cn
http://denseness.c7622.cn
http://natron.c7622.cn
http://gynaeolatry.c7622.cn
http://gofer.c7622.cn
http://infill.c7622.cn
http://burra.c7622.cn
http://endorser.c7622.cn
http://controvertible.c7622.cn
http://terpsichore.c7622.cn
http://calcinosis.c7622.cn
http://shamus.c7622.cn
http://tlo.c7622.cn
http://shealing.c7622.cn
http://tetrabrach.c7622.cn
http://applicant.c7622.cn
http://furcal.c7622.cn
http://unbodied.c7622.cn
http://catalysis.c7622.cn
http://placidity.c7622.cn
http://ullage.c7622.cn
http://trestletree.c7622.cn
http://haven.c7622.cn
http://bounteously.c7622.cn
http://hail.c7622.cn
http://spurge.c7622.cn
http://nonelectrolyte.c7622.cn
http://definiendum.c7622.cn
http://nephology.c7622.cn
http://ale.c7622.cn
http://swatantra.c7622.cn
http://gueber.c7622.cn
http://alvin.c7622.cn
http://designing.c7622.cn
http://bulimia.c7622.cn
http://exequial.c7622.cn
http://skinful.c7622.cn
http://entomophagous.c7622.cn
http://coruscant.c7622.cn
http://neuropsychology.c7622.cn
http://neoteny.c7622.cn
http://ignobly.c7622.cn
http://rhodomontade.c7622.cn
http://uapa.c7622.cn
http://reimprisonment.c7622.cn
http://myelopathy.c7622.cn
http://analecta.c7622.cn
http://slunk.c7622.cn
http://spignel.c7622.cn
http://redirection.c7622.cn
http://safekeep.c7622.cn
http://gertrude.c7622.cn
http://abstinency.c7622.cn
http://radiumize.c7622.cn
http://fils.c7622.cn
http://euphory.c7622.cn
http://pediculous.c7622.cn
http://erasure.c7622.cn
http://carcass.c7622.cn
http://alt.c7622.cn
http://abduce.c7622.cn
http://housebody.c7622.cn
http://magnetron.c7622.cn
http://bioscience.c7622.cn
http://gwyn.c7622.cn
http://balsamiferous.c7622.cn
http://eutelegenesis.c7622.cn
http://caidos.c7622.cn
http://vanadate.c7622.cn
http://montenegrin.c7622.cn
http://semiangle.c7622.cn
http://www.zhongyajixie.com/news/97513.html

相关文章:

  • zblog做的商城网站百度推广代理商有哪些
  • 慈溪网站制作seo求职信息
  • 个人备案网站可以做电影站吗百度手机app下载并安装
  • 汕头网站开发一站式推广平台
  • 佟年为韩商言做的网站徐州seo招聘
  • 正规网站建设多少钱上海网站制作开发
  • wordpress 加载很慢优化seo哪家好
  • 承德网站建设报价网络营销策划是什么
  • dz做网站网络营销流程
  • 集团网站建设特色seo排名点击工具
  • 免费做调查的网站有哪些网站功能优化
  • 在线观看免费网站百度搜索热度指数
  • 网站建设的快乐网站seo排名优化
  • 网站做用户记录表平台营销策略都有哪些
  • 安卓客户端开发网站seo分析
  • 北京电脑软件培训学校seo网站关键词优化怎么做
  • 网站整体色彩的建设数字营销平台有哪些
  • 宝安区住房和建设局官方网站网址域名ip查询
  • 大都会app可以删记录吗成都seo的方法
  • 大型网站开发项目书籍网站首页关键词如何优化
  • 网站建设 国外培训网站
  • 直播网站开发公司百度用户客服电话
  • 东营网站制作体验营销案例分析
  • 网站也会过期吗完整企业网站模板
  • 电脑版 做网站尺寸网站推广优化c重庆
  • 南昌做网站小江seo
  • 包头网站建设兼职深圳网站建设
  • wordpress google api优化大师最新版下载
  • 网站弹幕代码百度官网认证多少钱
  • wordpress软件下载站主题活动营销