自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 用户态网络缓冲区设计

在用户态创建的buffer变量。

2025-12-18 12:24:51 360

原创 原子性、原子操作与内存序

原子操作是对于原子变量的操作。多线程环境下,确保对共享变量的操作在执行时不会被干扰,从而避免竞态条件。换句话说就是同时只允许一个线程改变这个变量。一个操作会有多条指令,别的核心不会看到执行的中间状态。

2025-12-17 15:39:33 504

原创 池式组件——线程池、内存池、连接池

头插法的插入的时间复杂度是O(1),尾插法的插入的时间复杂度是O(n),如果维护一个尾指针插入的时间复杂度是O(1)。头插法更容易导致内存碎片,假设一个内存块大小为100kb,目前链表中只有一个节点A,已经占用了90kb,这时要分配一个30kb的内存,需要重新添加一个节点B,如果是头插法,节点B会在节点A之前,之后分配小内存时会先从节点B开始分配,于是节点A中会产生10kb的内存碎片。如果是尾插法,会尽可能从早创建的内存块中分配内存,如果要提高速度,可以创建一个指针指向最早且还有空间的内存块。

2025-12-17 13:02:45 871

原创 Posix API和TCP连接

domain为协议域,决定了socket的地址类型。常见的协议域有AF_INET(IPv4)、AF_INET6(IPv6)。type为socket类型,常见的socket类型有SOCK_STREAM(流式套接字,TCP用)、SOCK_DGRAM(数据报式套接字,UDP用)。protocol指定类型,常用协议有IPPROTO_TCP、PPTOTO_UDP,为0时可以自动选择协议类型。

2025-12-14 17:01:05 216

原创 I/O多路复用和reactor

在Linux中,所有设备都被抽象为文件,通过文件描述符进行访问。I/O多路复用是指通过一个线程同时监视多个文件描述符,当其中任意一个文件描述符就绪(可读、可写或发生异常)时,程序可以进行相应的操作。reactor是一种基于事件驱动的模式,对于不同的事件,使用不同的回调函数响应。以epoll为例,事先设计三种回调函数accept_cb、receive_cb和send_cb。当事件为EPOLLIN时,如果fd为sockfd调用accept_cb;如果fd为clientfd,调用receive_cb。

2025-12-13 16:32:55 638 1

空空如也

空空如也

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

TA关注的人

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