自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据库连接池模块设计

数据库的连接是一个很耗时的操作,也容易对数据库造成安全隐患。所以,在程序初始化的时候,集中创建多个数据库连接,并把他们集中管理,供程序使用,可以保证较快的数据库读写速度,还更加安全可靠。因此,希望实现一个数据库连接池来帮助项目加快对数据库的操作。

2024-07-25 10:19:31 267

原创 为什么要实现非阻塞的日志

经过对比可以得到,异步日志的方式对性能更加友好,而且可以减少磁盘 IO 函数的操作,一次写入更多的数据,提高效率。

2024-07-25 10:18:59 457

原创 定时器模块讲解

定时器功能相关的类由 Timestamp,Timer,TimerQueue类组成,muduo 库还有一个 Timeld 类方便对定时器进行索引,本项目里没有加上这个类。

2024-07-25 10:18:28 266

原创 为什么使用内存池

操作系统分用户态和内核态,我们只能在用户态进行操作。我们所使用的内存有栈和堆的,栈的内存自动分配和回收。对于程序员来说,主动申请和释放的内存是堆的内存。比如malloc()free()。我们调用malloc()向堆申请内存,系统也分配给了我们。但是我们申请的这部分内存容易造成内部碎片,这会导致残缺的内存块不能被我们所利用。比如申请 4k 的内存块,系统剩余的内存空间也够。但是这些是不连续的,连续的块可能只有 2k 大小,那么就会发生内存分配失败的情况。如果是公司级别的程序,不像个人写的 demo。

2024-07-25 10:17:34 631

原创 基类Poller的设计

我们编写网络编程代码的时候少不了使用IO复用系列函数,而muduo也为我们提供了对此的封装。muduo 有 Poller 和 EPollPoller 类分别对应着epoll和poll。而我们使用的接口是Poller,muduo 以Poller 为虚基类,派生出 Poller 和 EPollPoller 两个子类,用不同的形式实现 IO 复用。ownerLoop_重写方法靠派生类实现,这里我们可以专注一下方法。在 muduo 中可以使用此方法获取不同的实例,并且这个方法是在单独的一个文件内实现的。

2024-07-25 10:17:04 427

原创 EventLoop的作用

EventLoop 可以算是 muduo 的核心类了,EventLoop 对应着事件循环,其驱动着 Reactor 模型。我们之前的 Channel 和 Poller 类都需要依靠 EventLoop 类来调用。I/Oepoll_wait这里上代码,我们可以看见 EventLoop 的成员变量就有 Channel 和 Poller。其实 EventLoop 也就是Reactor模型的一个实例,其重点在于循环调用epoll_wait不断的监听发生的事件,然后调用处理这些对应事件的函数。

2024-07-25 10:15:39 904

原创 什么是Channel

Channel 对文件描述符和事件进行了一层封装。平常我们写网络编程相关函数,基本就是创建套接字,绑定地址,转变为可监听状态(这部分我们在 Socket 类中实现过了,交给 Acceptor 调用即可),然后接受连接。但是得到了一个初始化好的 socket 还不够,我们是需要监听这个 socket 上的事件并且处理事件的。比如我们在 Reactor 模型中使用了 epoll 监听该 socket 上的事件,我们还需将需要被监视的套接字和监视的事件注册到 epoll 对象中。

2024-07-25 10:15:01 173

原创 为什么要有缓冲区的设计

如何实现一个轻量的网络库

2024-07-25 10:13:38 550

ecapture-v0.4.3-android-aarch64_nocore.tar.gz

ecapture-v0.4.3-android-aarch64_nocore.tar.gz

2022-09-17

空空如也

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

TA关注的人

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