自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (4)
  • 收藏
  • 关注

原创 转发:c/c++循环队列

if ((Q.rear + 1) % MaxSize == Q.front)//尾指针的下一个存储单元就是头指针,这个状态。原文链接:https://blog.csdn.net/m0_63112274/article/details/135789321。cout << "元素个数为:" << len << endl;cout << "出队元素为:" << e << endl;cout << "队头元素为:" << e << endl;

2024-05-23 08:40:06 1181 1

原创 多线程,原子操作回顾

/ (1)如果用 std::thread() 创建的线程太多,则可能创建失败,导致系统报告异常,崩溃。// std::async: 创建异步任务,可能创建线程,也可能不创建线程。// (2)如果用 std::async() 一般不会报告异常,// std::thread 和 std::async 的区别。// std::async() 不确定性。

2024-05-21 15:19:05 298 1

原创 内存次序-栅栏

因为这里的同步是针对共享的数据资源来说的,memory_doeder_consume 不管数据,只是原子操作的线序关系。memory_doeder_release 释放栅栏这就好比天大旱的时候,河流断流了,露出了以前的石堰。memory_doeder_aquire/memory_doeder_consume 获取栅栏这就好比下游的水井还有清泉,下游的人民把水井加固,加上盖子,派人盯守,不准上游的人使用。同理,只要你是下游人士(不是越界来的),使用时,不管远近,不管秩序,乱成一锅粥,都不管。

2024-05-21 11:42:56 125 1

原创 转发:深入理解C11/C++11内存模型

现代计算机体系结构上,CPU执行指令的速度远远大于CPU访问内存的速度,于是引入Cache机制来加速内存访问速度。除了Cache以外,分支预测和指令预取也在很大程度上提升了CPU的执行速度。随着SMP的出现,多线程编程模型被广泛应用,在多线程模型下对共享变量的访问变成了一个复杂的问题。于是我们有必要了解一下内存模型,这是多处理器架构下并发编程里必须掌握的一个基础概念。1. 什么是内存模型?到底什么是内存模型呢?

2024-05-20 09:55:07 1479

原创 转发:理解C++的内存顺序(memory ordering)

std::memory_order_acq_rel 这个内存顺序是std::memory_order_acquire和std::memory_order_release的组合。它用于同时获取和释放一个锁。std::memory_order_seq_cst 这是最强的内存顺序。也就是说,所有的std::memory_order_seq_cst原子操作都会按照一个单一的全局顺序来执行。std::memory_order_consume 保证了消费者可以看到生产者在生产数据时的所有写操作。

2024-05-18 18:12:00 1250

原创 标准库的时间

std::chrono::duration<double,std::ratio<1,1000>> 1/1000=1毫秒。std::chrono::duration<double,std::centi> 1/100=百分之一秒。自定义时长:std::chrono::duration<short,std::ratio<60,1>> 60/1=60秒 1分钟。//结束时间点=//起始时间点+500秒。(4)秒 std::chrono::duration::seconds。

2024-05-18 16:57:00 330

原创 多线程环境下:唯一实例被安全的初始化

std::call_once(radar_parser_ptr,init_radarParser)://确保初始化函数init_radarParser只调一次。

2024-05-18 15:03:48 129

原创 多线程:std::experimenttal::barrier

/等待都处理完成,再处理下一帧宽带数据。宽带数据处理,需要对多个子频带进行数据提取。接收到数据以后,启动多个子线程处理子带数据-汇总。// 为每个数据元素创建一个新线程。// 假设这是你的宽带数据类型,包含多个子带数据。// 处理单路信号数据的函数。// 接收宽带数据的函数。

2024-05-18 14:36:30 182

原创 转发:内存池-提高效率的利器

/ 预先分配100个整型的内存。内存分配也是要耗费时间的。因此,频繁的内存分配会浪费很多时间,我们可以使用内存池来解决这个问题。// ... 使用内存。

2024-05-18 11:03:00 247

原创 多线程-条件等待

/返回分析后剩下的数据。一个线程来接收数据,压入缓存。另一个线程来分析数据,拼帧处理。

2024-05-18 10:23:09 397

原创 《C++并发编程》实战-学习笔记

我第一次看这本书的时候,由于没有认真研究,基本都忘了。这两天难得有空闲时间,好好啃一下这本书的味道。 这本书先介绍C++11~C++17的新特性对并发的支持。然后谈线程控制、参数传递,线程间数据共享,互斥和锁,并发与同步技术。

2024-05-17 20:04:26 100

websocket++和protof通信框架

websocket++和protof通信框架: 包括消息收发,组包和解包,以及客户端登录认证和状态管理。

2018-09-23

EasyDarwin-master32位版本,虽然64位不通但比较齐全.zip

EasyDarwin-master32位版本源码,虽然64位编不通但比较齐全.zip。可以拿来学习, easydarwin应该考虑有偿共享软件,把全部代码贡献出来。当然这只是一个愿景。

2018-09-23

利用jrtplib 写的rtsp server,包括编码摄像头转发和读取YUV420P文件转发

利用jrtplib 写的rtsp server,包括读取摄像头转发和读取YUV420P文件转发,再编码的效果差,x264参数设置不好,哪位大神可以帮忙。有SDL2测试。

2018-09-23

led点阵显示倒计时

led点阵显示倒计时,包括时分秒,可以定制修改0~9的led矩阵,目前5*6.这个是时间匆忙,效果不是很好,勿喷。

2018-09-23

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

TA关注的人

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