自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 c++系列之虚函数,虚函数表,虚函数指针

这里我们来捋一下这个三级指针,在这个对象里面,虚函数表是一个存储虚函数地址的数组,虚函数指针是存储虚函数表地址的指针,但是这些都在bc对象的地址里面,也就是bc就是虚函数指针的地址,然后我们直接上三级指针,我们直接取虚函数指针的地址,void***,之后先进行一次解引用,得到的是虚函数指针的内容也就是虚函数表的地址,我在上面写了一个函数指针VFuncPtr,然后把指针类型转为VFuncPtr类型,以此调用函数。对,没错,就是虚函数指针(vptr),每个包含虚函数的对象中,编译器会。关键字修饰的成员函数。

2025-10-19 21:37:07 715

原创 c++系列之单例类

(静态初始化顺序灾难),当你在其他文件里面对它进行调用但是发现没有初始化就会出现问题,但是初始化之后也有一些情况,饿汉模式初始化不管你是否使用都会进行初始化,这也就会出现资源的浪费。这在不同的编译器上这三者的执行顺序是有些不同的,有的可能是1,3,2,这样的顺序,但是b线程在判断不为空之后,直接就返回了,但是a没有执行2,这就导致了b得到了一个不完整的对象。如何实现一个线程安全的单例类这是一个问题,我将介绍几种方法为了实现它。局部的静态变量保证只被初始化一次。饿汉式单例有一个很大的问题就是初始化的问题,

2025-09-14 14:56:09 465

原创 c++系列之共享锁,递归锁

在进行软件的开发中,对于一个功能的实现我们可能会进行细小模块的拆分,这是一件好事但也会带来一些问题,当两个模块都会对共享数据进行修改的时候,都会进行上锁,一个模块上锁另一个模块要上锁但是上一个模块没解锁这就会进行死锁,解决这个问题的方法就是递归锁,但是一般不推荐使用递归锁,而是通过模块的合并解决这个问题,这就需要设计的时候要设计好了。这是一个共享锁的案例,dns服务器每天需要被大量的访问,少许的修改(当然这里只是对服务器进行简单的模拟),这时候我们就可以使用共享锁。

2025-09-12 19:03:09 228

原创 C++系列之互斥,死锁,解决死锁的方法,层级锁

这里对锁进行了同时上锁,上面使用了c++的领养锁机制,adopt_lock,代表不会对锁上锁,但是再函数结束之后会对改锁解锁,具体细节可以去了解一下c++的RAII机制。再层级锁中我们对锁进行了层级分化,在代码中的实现就是对锁进行数字化,值越大代表锁的层级越大。死锁:在引入互斥的概念后,死锁的问题也就来了,在有多个锁的时候,在进行上锁的时候就会发生死锁的问题。这时候两个线程都持有对方所需要的锁,但是所持有的锁都没有释放,这时候两个线程就会进入死锁的情况。层级锁很好的保证了上锁的顺序,避免了死锁的产生。

2025-09-12 16:40:33 763

原创 服务器模型之Reactor

我个人认为就是io多路复用 + 事件循环,先回忆一下简单的socket编程,首先是先创建一个socket,然后就是bind(),listen(),后面就是accept(),read(),write(),这是一个最简单的socket编程,在这个设计中我们为了解决不知道什么时候io就绪采取了阻塞线程的方式,也就是所谓的同步,显而易见的是这样的设计是不合理的越到最后为了解决多个io就绪且不影响运行时就会为每个socket开一个线程,这就会造成很大的线程开销,而Reactor的设计理念就是为了解决这个问题。

2025-09-01 20:08:57 172

原创 docker在国内的安装之ubuntu系统

docker-ce-linux-ubuntu安装包是阿里云官方提供的开源镜像免费下载服务,每天下载量过亿,阿里巴巴开源镜像站为包含docker-ce-linux-ubuntu安装包的几百个操作系统镜像和依赖包镜像进行免费CDN加速,更新频率高、稳定安全。让 apt 知道有一个新的源(Docker 官方源)已经添加,可以搜索到里面的软件包了(如果你不执行这一步,系统根本不知道。这里的你的加速器就是你在什么地方租的服务器,然后打开容器镜像服务获取你专属的加速地址,我本人使用的是阿里云的,如图。

2025-06-19 18:06:42 1574 1

空空如也

空空如也

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

TA关注的人

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