自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux虚拟内存布局

在Linux操作系统中,进程的虚拟地址空间通常被划分为几个不同的区域,每个区域用于特定的目的。最后,推荐一个Linux c/c++内容学习平台。

2024-10-21 22:52:02 681

原创 线程池详解及纯c代码实现

定义尾指针以实现常数时间的任务插入,尾指针使用二级指针,它指向指向队列最后一个任务的指针的地址,即tail = 队尾元素的next,以这种方式,可以方便地更新队列的尾部指针;自旋锁用于队列内部的任务保护,由于不像互斥锁会引起上下文的切换,实现轻量级的任务保护;以上代码实现了基本的线程池功能,更进一步可以实现任务执行优先级,任务分类执行,异常告警线程分类等。,具体实现中,在头文件中定义用户需要知道的信息,在源文件中定义实现细节。.c文件中定义任务的封装和任务队列的封装。.c文件中定义线程池结构体。

2024-10-17 21:34:35 1391

原创 Windows下异步I/O机制IOCP介绍

输入输出完成端口(Input/Output Completion Port,IOCP), 是Windows下支持多个同时发生的异步I/O操作的应用程序编程接口,用于解决网络编程中的连接建立、连接断开、数据发送和数据接收四个问题。下面从几个问题来解释iocp。

2024-10-15 22:12:32 992

原创 Linux高性能异步io,io_uring实现服务器

Linux系统中io_uring是2019年首次出现的一个新的异步IO框架,用于实现高效的异步IO操作。

2024-10-11 21:20:40 1136

原创 Cmake项目构建教程

project定义项目的名称和语言,MyProject是项目的名称,它会被赋值给cmake的预定义变量 ${PROJECT_NAME},并且可以在整个 CMakeLists.txt 文件中使用这个变量来引用项目名称。在这个例子中,表示项目使用C和C++语言。除了包含example目录的源文件外,需要再将子目录demo加到变量中,使用include_directories指定编译器在编译源文件时搜索头文件的路径(仅影响项目路径,不影响生成的构建目标),最后使用add_library生成一个当前目录的库。

2024-10-09 13:53:32 1309

原创 Linux c/c++协程设计原理

在C++20中引入了协程新特性,能够实现异步操作并且以可读,可维护的方式编写代码,并且提供更高的性能,因为减少了线程切换和上下文切换的开销。以此能够在不更改原有代码的情况下,将使用的函数替换为用户态的实现。下面通过9个问题来理解协程。

2024-10-07 18:52:27 1185

原创 Linux c/c++ posix API功能解读

POSIX(Portable Operating System Interface)是一组可移植的操作系统接口,用于在不同的UNIX类操作系统之间实现更好的兼容性。POSIX API涵盖了文件和目录操作、进程控制、线程管理、信号处理、内存管理、网络通信等多方面的功能。

2024-09-24 23:44:20 946 1

原创 Linux c/c++ reactor网络io管理模型

以上是reactor模型的简单创建流程。

2024-09-23 23:39:40 595

原创 Linux c/c++之百万并发服务器实现

一 文件描述符数量限制,错误一 文件描述符数量限制,错误。

2024-09-21 22:25:40 710 1

空空如也

空空如也

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

TA关注的人

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