自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 C++ 多线程开发知识汇总

作为偏底层的语言来说,在什么情况下使用什么,必须有理有据,那么这就考察了一个C++程序员对底层知识的理解。往往程序的健壮性就是建立在这个层面上的。多线程的开发在C++项目中是重中之重,如果你想对大量数据对运算并且采用分而治之的算法思想(这里暂且不考虑GPU的并行计算咯,处理器必须是多核的才有效果哟),那么选择多线程,如果你需要在QT中防止GUI线程因为计算而出现的卡段现象,那么需要多线程,如果你想编写高性能的网络服务,一样需要多线程。

2022-11-15 18:36:09 1024 1

转载 两种高效的事件处理模式——Reactor和Proactor

对于可写事件,执行写数据的操作。4)睡眠在请求队列上的某个工作线程被唤醒,它从socket读取数据,并处理客户请求,然后往epoll内核事件表中注册该socket上的写就绪事件。1)主线程调用aio_read函数向内核注册socket上的读完成事件,并告诉内核用户读缓冲区的位置,以及读操作完成时如何通知应用程序 (这里以信号为例,详情请参考sigevent的man手册)。4)睡眠在请求队列上的某个工作线程被唤醒,它获得请求对象 处理客户请求,然后往epoll内核事件表中注册socket上的写就绪事件。

2022-11-12 01:34:57 628

原创 设计模式在项目中的应用之线程池

设计模式分为三大类:创建型模式五种:简单工厂模式、抽象工厂模式、单实例模式、建造者模式、原型模式结构型模式七种:适配器模式、装饰者模式、代理模式、外观模式、桥接模式、组合模式、享元模式行为型模式十一种:策略模式、模板方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式额外几种模式:MVC模式、线程池模式、状态机模式写一手好的代码,如同做生意,让自己的店铺整洁有序,可以让人赏心悦目、让店铺客源滚滚。

2022-10-27 16:28:42 577

原创 记一次面试

记一次面试稳固一下知识点:1.类中变量初始化的顺序,列表初始化和构造函数内初始化有什么区别?答:1.先按照初始化列表中的变量,在执行构造函数中的初始化,和声明先后没有关系,但是C++准则中:以同样的顺序定义和初始化成员变量,防止使用未初始化的变量。2.列表初始化是执行的拷贝构造函数,而默认的构造函数内初始化是执行的赋值构造函数,这样就降低了一些性能。当然这是针对非内置类型来说的。延申:理解构造函数 拷贝构造函数 赋值函数拷贝构造函数的执行时机: 当函数的参数为类的对象时、当函数的返回值是类的对象

2021-02-28 01:05:50 105

原创 Qt库使用的一些问题

项目上使用Qt框架进行编码需要注意的问题1.如果用Qt框架做出来的东西要卖钱,不能使用Qt静态库2.如果作为项目维护,尽量使用Qt稳定版本,最新的稳定版本Qt5.153.从Qt5.15开始不再支持Qt离线安装版,请下载在线安装器,就行选择安装...

2021-01-29 15:37:20 238

原创 QCustomPlot使用详解(二)

QcustomPlot的理解说明QCustomPlot类类图布局数据关系结束语说明这篇主要介绍QCustomPlo的整体实现思路,理解是非常重要的。QCustomPlot类QCustomPlot类是直接面向用户来使用。具有默认的图层展示。可以参见其源码:QCustomPlot::QCustomPlot(QWidget *parent) : QWidget(parent), x...

2019-01-20 01:38:21 5965 2

原创 QcustomPlot使用详解(一)

QcustomPlot的理解说明适合场景缺点说明这段时间一直在研究QcustomPlot的功能,总的来说灵活性非常大。适合场景1.绘制各种样式的点,可以用各种样式的线来连接。2.绘制各种图层,比如直方图、金融图,也可以进行背景各种颜色的设置。3.坐标轴有极大的自由定义空间,包括多坐标轴布局、联动。4.可以进行较为灵活的布局。直线、箭头、标签都可以满足任何位置的绘制5.方便获取各个点...

2019-01-18 00:58:21 3096 2

原创 QTCustomPlot文档

QTCustomPlot文档中文版说明PlottablesControlling the AxesPlot LegendUser InteractionDecorations and Auxiliary ItemsLayout Elements and LayoutsOpenGL Accelerated Plotting and Performance ImprovementPreprocesso...

2019-01-10 12:35:59 2660

原创 TCP-IP协议详解 第七 八章 ping程序 Traceroute程序

1.ping命令的作用“p i n g”这个名字源于声纳定位操作。 P i n g程序由Mike Muuss编写,目的是为了测试另一台主机是否可达。该程序发送一份 I C M P回显请求报文给主机,并等待返回 I C M P回显应答(图6 - 3列出了所有的I C M P报文类型)。一般来说,如果不能 P i n g到某台主机,那么就不能 Te l n e t或者F T P到那台主机。反...

2019-01-06 22:39:05 237

原创 TCP-IP协议详解 第六章 ICMP: Internet控制报文协议

1.ICMP介绍检验和算法和ip首部检验和算法相同2.ICMP报文类型下面各种情况都不会导致产生 I C M P差错报文:1) ICMP差错报文(但是, I C M P查询报文可能会产生 I C M P差错报文)。2) 目的地址是广播地址(见图 3 - 9)或多播地址(D类地址,见图1 - 5)的I P数据报。3) 作为链路层广播的数据报。4) 不是I P分片的第一...

2019-01-02 02:40:32 176

原创 线程和进程的区别

进程:是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竞争计算机系统资源的基本单位。线程:是进程的一个执行单元,是进程内科调度实体。比进程更小的独立运行的基本单位。线程也被称为轻量级进程。如何理解呢?一个进程内部必须有线程。线程必须依附于进程。线程所拥有的资源少于进程的资源。...

2019-01-01 01:40:06 111

转载 堆栈的区别

C++中堆和栈的完全解析内存分配方面:堆: 操作系统有一个记录空闲内存地址的链表,当系统收到程序的申请时,会遍历该链表,寻找第一个空间大于所申请空间的堆结点,然后将该结点从空闲结点链表中删 除,并将该结点的空间分配给程序,另外,对于大多数系统,会在这块内存空间中的首地址处记录本次分配的大小,这样代码 中的delete语句才能正确的释放本内存空间。我们常说的内存泄露,最常见的就是堆泄露(还有...

2019-01-01 01:23:58 120

原创 TCP-IP协议详解 第四、五章 ARP:地址解析协议和RARP:逆地址解析协议

1.一个例子 A R P为I P地址到对应的硬件地址之间提供动态映射ARP具有广播功能,发送给以太网上(同一网段)的每个主机,从而获取与之对应的硬件地址。ARP通过高速缓存实现ARP高效运行。2.ARP的分组格式3.ARP代理如果APR请求是从一个网络的主机发往另一个网络上的主机,那么连接两个网络的路由器就可以回答这个请求,这个过程叫做ARP代理(委托APR)。...

2018-12-31 00:40:13 317

原创 编码与字符集

1.编码的必要性编码是为了将二进制转成对应的字符,不同的电脑的编码格式(或者网络输出时)可能不同,所以会出现乱码现象。2.ASCII表3.MBCS(多字节字符集)为了扩充ASCII编码,以用于显示本国的语言,不同的国家和地区制定了不同的标准,由此产生了 GB2312, BIG5, JIS 等各自的编码标准。这些使用 2 个字节来代表一个字符的各种汉字延伸编码方式,称为 ANSI...

2018-12-30 13:23:05 143

原创 TCP-IP协议详解 第三章 IP:网际协议

1.IP协议的特点不可靠(无法保证IP数据报能成功地到达目的地)、无连接(无法保证数据到来的先后顺序)2.IP首部 3.4位版本号 目前协议版本号是4首部长度指的是首部占 32 bit字的数目,包括任何选项。由于它是一个 4比特字段,因此首部最长为6 0个字节。 20*8 = 160 = 32*5网络字节序低位放报文起始位总长度字段是指整个IP数据报的长度,以字...

2018-12-30 01:49:15 196

原创 TCP-IP协议详解 第二章 链路层

1.链路层的作用、在 T C P / I P协议族中,链路层主要有三个目的: (1)为I P模块发送和接收I P数据报;(2)为A R P模块发送 A R P请求和接收 A R P应答;(3)为R A R P发送R A R P请求和接收R A R P应答。 T C P / I P支持多种不同的链路层协议,这取决于网络所使用的硬件,如以太网、令牌环网、 F D D I(光纤分布式数据接口)...

2018-12-29 02:02:49 167

原创 TCP-IP协议详解 第一章笔记

1.网络分层2.通信流程3.网络层和运输层的功能网络层IP:不可靠的服务运输层TCP:采用超时重传、发送和接收端到端的确认分组等机制4.网桥和路由器的区别网桥:网桥是在链路层上对网络进行互连,使多个局域网(LAN)组合在一起路由器:路由器实在网络层对网络进行互连5.协议介绍T C P和U D P是两种最为著名的运输层协议,二者都使用 I P作为网络层协议...

2018-12-28 03:03:13 146 1

空空如也

空空如也

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

TA关注的人

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