红黑树: 红黑树是一棵二叉查找树(BST),BST的查找效率为O(lgN), 但对于插入,某些情况下,偏向性严重的情况下会退化成类似于具有N个节点的线性链表,此时时间的复杂度...

红黑树: 红黑树是一棵二叉查找树(BST),BST的查找效率为O(lgN), 但对于插入,某些情况下,偏向性严重的情况下会退化成类似于具有N个节点的线性链表,此时时间的复杂度...
http请求 request line + header + body(header分为普通报头,请求报头和实体报头) header与body之间有一空行(CRLF) req...
Connector类 Connector只负责建立socket连接,不负责创建TcpConnection对象,它的newConnectionCallback回调的参数是soc...
TcpConnection发送数据 之前我们的Channel仅仅用到了ReadCallback,而并没有启用WriteCallback,在本节中会设置为在需要时关注可写事件,...
EventLoopThread类 一个程序可以有不止一个IO线程,IO线程也不一定是主线程,我们可以在任何一个线程创建并运行Eventloop.且任何一个线程只要创建并运行了...
本地电脑端1 .本地电脑生成SSHkey,通过命令生成: 2.上述命令会在=根目录下生成/.ssh文件夹: 3.进入该文件夹,打开id_rsa.pub文件,复制里面的内容;然...
EventLoop中时序深究: 过程:1.在程序中我们一般会先构造一个EventLoop对象(muduo::EventLoop loop),EventLoop构造函数初始化列...
多线程与并发服务器: (1)循环式(iterative)服务器:每处理一次请求,就关闭一次,使用的是TCP短连接,只使用单线程模式,没法充分发挥多核CPU的优势.(2)惊群现...
(1)父子进程之间的继承: fork()会产生一个和父进程完全相同的子进程,但子进程在此后会exec系统调用,出于效率考虑,linux中引入了“写时拷贝”copy on wr...
大型网站架构演变过程 1.web动静资源分离:动态请求:jsp,php等;动态请求应用服务器处理如:Tomacat静态请求: html,js,css等,静态请求由http服务...
本项目想要实现的线程池的功能:(1) 让不同的线程完成不同的任务;把任务派生成一个基类,每个任务派生出一个任务参数.(2) 把多个线程管理起来,通过创建一个管理者线程类.该线...
线程池的实现原理基本上就是生产者与消费者模型的扩展,即刚开始开出一定数量的线程,以基本生产者消费者模型为基本原理,不断使用这些线程从"任务队列"中取出任务进行处理,本线程池中...
多线程之间的通信方式 三种专门用于线程同步的机制:POSIX信号量,互斥量和条件变量. POSIX信号量 在Linux上信号量API有两组,一组是System V IPC信号...
线程是程序中完成一个独立任务的完整执行序列,即一个可以调度的实体;进程是资源分配和调度的一个独立单位,线程是进程的一个实体,是CPU调度和分配的基本单位. 一个进程至少拥有一...
Linux 简要基础知识 用户空间/内核空间操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的内存空间,也有访问底层硬件设备的所有权限。为了保证用户进程不能直接操作...
1.Linux网络编程基础API: 字节序分为大端字节序和小端字节序.小端字节序是指低位地址存放在内存的低位地址处,高位字节存储在内存的高地址处.我们的x86主机一般采用小端...
Makefile文件简介 Makefile文件定义了一系列的规则,来指定工程中的哪些文件需要编译,哪些文件需要先编译后编译;其次Makefile文件可以像shell脚本一样,...
智能指针的基本思想: 将堆对象的生存周期用栈对象(智能指针)来管理.当new一个堆对象时,立刻用智能指针来接管,具体的做法是在构造函数中进行初始化(用一个指针指向堆对象),在...
多态是指:程序运行时,调用方法的行为应取决于调用该方法的对象,一般情况下,我们一般要求父类的指针可以根据具体所指的对象类型,来执行不同的函数.知识点: C++支持两种多态性:...
static,const和static const 以及它们的初始化 const 定义的常量在超出其作用域之后,其空间便会被释放收回.C++11之后const成员变量可以在类...