• IO多路复用

    IO多路复用什么是IO多路复用IO多路复用是一种同步IO模型,实现一个线程可以监视多个文件描述符;一旦某个文件描述符就绪,就能够通知应用程序做出相应的读写操作;当没有文件描述符就绪时,就会阻塞应用程序,让出cpu。 多路是指网络连接,复用是指同一个...
  • 虚函数

    虚函数什么是虚函数虚函数是在基类中声明的,而在派生类中进行重写的函数。通过使用virtual关键字声明一个函数为虚函数,它使得在运行时能够动态地确定调用的是哪个版本的函数。 12345678910111213class Base {publ...
  • UML类图

    UML类图 类图基础属性 +表示public -表示private #表示protected ~表示default _表示static 斜体表示抽象 类图之间关系 继承:继承表示是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功...
  • Nginx入门笔记

    Nginx入门教程Nginx是⽬前最流⾏的Web服务器 nginx安装123456# 1. 更新仓库信息sudo apt-get update# 2. 安装nginxsudo apt-get install nginx# 3. 验证安装sudo ng...
  • 智能指针

    智能指针智能指针的作用 C++程序设计中使用堆内存是非常频繁的操作,堆内存的申请和释放都由程序员自己管理。程序员自己管理堆内存可以提高了程序的效率,但是整体来说堆内存的管理是麻烦的,C++11中引入了智能指针的概念,方便管理堆内存。使用普通指针,容易...
  • Raft算法

    Raft算法Raft 算法是一种可靠且易于理解的共识算法,适用于构建分布式系统。它通过领导者选举、日志复制和安全性保证来实现一致性。 Raft 算法中有三个角色:领导者(leader)、候选人(candidate)、跟随者(follower)。 ...
  • Redis入门

    Redis入门什么是Redis?Redis是一个开源的内存键值存储数据库,它可以用作数据库、缓存和消息中间件。Redis支持多种数据结构,如字符串、哈希、列表、集合和有序集。它还提供了用于数据备份、恢复和复制的功能,使其成为许多应用程序的理想选择。 ...
  • muduo梳理

    Muduo梳理使用Muduo搭建简单的服务器 建立事件循环器EventLoop : loop 建立服务器对象TcpServer :server 向TcpServer中注册各类事件的用户自定义的回调函数:onConnection,onMessage 设...
  • moduo之Buffer

    Muduo中的BufferBuffer类其实是封装了一个用户缓冲区,以及向这个缓冲区写数据读数据等一系列控制方法。 为什么需要有应用层缓冲区?在非阻塞网络编程中,非阻塞IO的核心思想是避免阻塞在read()/write()或其他IO系统调用上,可以最...
  • Reactor/Proactor模式

    服务器的演变 为每个连接创建一个进程/线程(不断的创建和销毁进程/线程,带来很大的性能开销,造成资源浪费) 创建线程池(无法高效的处理多个连接业务,一个线程处理多个连接的业务时,线程在处理某个连接的read操作(默认是阻塞的)时,...
/3