自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 资源 (2)
  • 收藏
  • 关注

原创 apollo cyber中的协程源码解析

情况,如下图,A、B、C、D 任务在第一个 group 中执行,E在第二个 group 中执行,对于没有出现在配置中的任务,比如F默认会放到第一个 group 中执行(下文会提到哦)。而且配置中我们对于任务进行了优先级设置,A、B、C、D 的任务优先级依次增大,正好对应下图的拓扑依赖关系,在链路中越靠后的任务优先级越高。其实,数据也是这样在任务拓扑图中传递,数据走到最后,执行的任务优先级越高,这是为保证整个流程可以快速走完,不被其他流程的任务打断。根据上面的 conf 文档,可以简单画出任务的。

2024-06-17 14:26:19 624 1

原创 apollo cyber中task_manager源码分析

从上述TaskManager的构造函数可以看出在TaskManager初始化任务的时候会创建scheduler::Instance()->TaskPoolSize()个任务,用户异步协程的运行在用户调用cyber::Async的时候会更具是否处于正式环境调用Enqueue或者std::async函数。cyber::Async在一定意义上不具备真正的实时性,在默认情况下协程的优先级为最低,所以task中添加的任务会在系统空闲的时候在调用。

2024-06-17 14:23:05 257

原创 apollo cyber共享内存解析

这里可以看到TryFetch函数会一直调用buffer_的Fetch函数,buffer_是ChannelBuffer类型的成员变量从名字可以看出它是一个数据缓冲区。其中可以看到在不断的通过获取indicator_->next_seq获取消息的序列号,如果有消息到来则通过*info = indicator_->info[idx]获取下一条消息。看到这里可以看到,这里通过第二步中创建的transmitter_的Transmit发送了数据。在这里可以看到其中会先设置Msg_info中的序列号。

2024-06-17 13:53:32 925

原创 网络编程之Select

Select函数介绍```#include <sys/select.h>/* According to earlier standards */#include <sys/time.h>#include <sys/types.h>#include <unistd.h>int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, str...

2021-01-19 10:26:34 179

原创 c++两数之和

题目描述给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9 输出:[0,1] 解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。 示例 2:输入:nums = [3,2,4], target = 6 输

2021-01-14 16:26:15 529

原创 Socket网络编程Linux下TCP Socket编程实例以及基础API

基础api介绍网络字节序转换unsigned long int htonl( unsigned long int hostlong);unsigned short int htons( unsigned short int hostlong);unsigned long int ntonl( unsigned long int hostlong);unsigned short int ntonl( unsigned short int hostlong);通用的Sokcet地址#

2021-01-14 16:11:48 186

原创 HTTP(超文本传输协议)报文格式

HTTP(超文本传输协议)报文格式HTTP请求报文http请求报文数据分为三部分:请求行 请求头部 请求数据http请求报文的格式如下图所示:下面是Get请求的例子:GET /92316461213.jpg HTTP/1.1Host img.mukewang.comUser-Agent Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.

2021-01-14 14:14:25 499

c++ 大根堆和小根堆

基于c++实现以数组为基础大根堆和小根堆

2021-01-14

线性表的基本操作(vs2017)

有关与线性表的一些基本操作自己学习刚刚写好的~.~(如有不足欢迎补充)

2018-05-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除