基于 muduo 网络库核心代码分析 Reactor 模型
基于 muduo 网络库核心代码分析 Reactor 模型🔗 GitHub 链接:https://github.com/RareVoyager/cmuduo.git 在高并发网络服务器的设计中,如何高效地处理海量连接始终是一个核心问题。传统的“一连接一线程”模型虽然直观,但当连接数持续增长时,线程数量也会随之膨胀,导致大量的内存占用和线程调度开销,难以满足现代互联网服务对高并发的需求。为了解决这一问题,Linux 提供了 select、poll、epoll 等 I/O 多路复用机制,使得单个线程能够同时监听大量连接的 I/O 事件。在此基础上,Reactor 模型进一步将事件监听、事件分发和业务处理进行解耦,形成了现代高性能网络框架的核心架构。 Reactor 模型并非只存在于理论之中,而是广泛应用于现代高性能网络系统,大量工业级的项目采用了Reactor模型进行开发。例如 Nginx 利用 Reactor 模型处理海量 HTTP 连接,Redis 通过单线程事件循环实现高并发访问,Netty 将 Reactor 思想引入 Java 网络编程,而 Node....
Window 编译Boost库
1.使用b2编译Boost库首先下载boost源代码 Boost 1.90.0 下载好之后进入到目录。运行bootstrap.bat 运行时后面可以接已经存在于本地的编译器,默认是msvc,可以在 bootstarp.bat 上看到 也可以指定自己的编译器。 123456789101112131415SET TOOLSET=msvcIF "%1"=="gcc" SET TOOLSET=gccIF "%1"=="clang" SET TOOLSET=clangIF "%1"=="borland" SET TOOLSET=embarcaderoIF "%1"=="vc71" SET TOOLSET=msvc : 7.1IF "%1"=="vc8" SET TOOLSET=msvc : 8.0IF "%1"=="vc9" SET TOOLSET=m...
Linux网络编程
Linux网络编程首先要知道 Linux设计哲学: 一切皆文件我的github仓库 RareVoyager/RareVoyager_linux_network_programming: Linux Cpp 编程学习 Day 112345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364// @brief: 创建一个套接字// domain: 协议族,如 AF_INET(IPv4)、AF_INET6// type: 套接字类型,如 SOCK_STREAM(TCP)、SOCK_DGRAM(UDP)// protocol: 协议号,通常写 0(让系统自动选择)int socket(int doman,int type, int procotol)// 返回值:// 成功: socket 文件描述符// 失败: -1 // @brief: 给socket 绑定一个地址结构(I...
first
my first 文章 命令 简写 作用 hexo init – 初始化博客 hexo clean hexo c 清理缓存 hexo generate hexo g 生成静态文件 hexo server hexo s 本地预览 hexo new – 新建文章 hexo new page – 新建页面 hexo deploy hexo d 部署 hexo -v – 查看版本 hexo doctor – 环境检测



