C/C++
文章平均质量分 88
秃头胖胖怪
这个作者很懒,什么都没留下…
展开
-
百万并发服务器设计
文章目录前言1、改造ntyreactor2、如何管理eventblock创建一个eventblock查找对应fd在那个eventblock上具体使用3、总结前言本文的基础以及使用的代码模型都继承自上一篇文章。所以请先详细阅读上篇文章。提示:以下是本篇文章正文内容如何在上篇文章的基础上使其支持百万并发。主要就是neyreactor结构体如何支持一百万个连接。上篇文章出现的 MAX_EPOLL_EVENTS 宏定义是1024,也就是上篇文章只支持1024个连接,这篇文章我们会将它改造成可以支持到百万原创 2021-12-25 17:08:28 · 552 阅读 · 0 评论 -
reactor模型实现
文章目录前言一、什么是reactor模型二、使用步骤1.声明一个reactor结构体2.事件的设置,添加,以及删除2.read,write,accept的事件的处理回调函数3.初始化reactor4.将监听fd加入到reactor5.等待事件6.主函数三、代码解读总结前言对于一个服务器而言:网络 IO通常会涉及到两个系统对象,一个是用户空间的调用IO的进程或者线程,另一个是内核空间。比如发生IO操作的read时,通常会经历两个阶段:等待数据准备就绪,将数据从内核空间拷贝到用户的进程或者线程中。所以多种原创 2021-12-25 16:10:53 · 849 阅读 · 0 评论 -
网络io与select,poll,epoll
文章目录前言一、什么是IO二、IO模型1. 阻塞 IO2.非阻塞 IO3.多路复用 IO4.异步IO5.信号驱动 IO`前言本文介绍网络io模型,以及select,poll,epoll三种IO多路复用的机制。提示:以下是本篇文章正文内容一、什么是IOIO是input与output的首字母缩写,所以在计算机系统中,一切具有输入输出类型的交互系统都可以认为是I/O系统。如:网络IO,磁盘IO,等等。下面我们重点介绍网络IO。二、IO模型 网路IO,一般会涉及到两个系统对象,一个是用户空间调用I原创 2021-12-18 15:21:00 · 336 阅读 · 0 评论 -
C++基础之智能指针
文章目录前言一、智能指针有哪些二、shared_ptr1.特性2.初始化3.关于shared_ptr的成员函数reset4.引用计数的例子5.获取原始指针6.构造时指定删除器7.注意事项三、unique_ptr1.特性2.初始化3.shared_ptr 和unique_ptr的区别四、weak_ptr1.特性2.基本用法3.weak_ptr使用注意事项五、智能指针安全性问题前言C++程序设计中会频繁的操作堆内存,堆内存的申请和释放都是由程序员自己管理,使用普通指针,容易造成内存泄露,二次释放等问题,使原创 2021-11-26 00:58:47 · 1319 阅读 · 0 评论 -
C++基础之注释
文章目录前言一、注释的语法二、注意三、优美的注释四、总结前言注释在程序编写中很重要,一个良好的注释在编写注释时更重要一、注释的语法注释有两种风格的语法:c风格或者说“多行”注释:/**只是一个c风格的注释 *或者说是多行注释*/c++风格 或者说“单行”注释:// 这是单行注释注释实际上在编译过程中会被编译器忽略。每段注释都会被替换成空白字符,从程序中移除。二、注意c风格的注释块是不能被嵌套的,但是c风格和c++风格的注释是可以互相嵌套的。注释会在预处理阶段原创 2021-11-22 22:37:57 · 4552 阅读 · 0 评论