紅黑樹: 紅黑樹是一棵二叉查找樹(BST)纹份,BST的查找效率為O(lgN), 但對于插入廷痘,某些情況下,偏向性嚴(yán)重的情況下會退化成類似于具有N個節(jié)點的線性鏈表件已,此時時間的復(fù)雜度...
![240](https://cdn2.jianshu.io/assets/default_avatar/1-04bbeead395d74921af6a4e8214b4f61.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
紅黑樹: 紅黑樹是一棵二叉查找樹(BST)纹份,BST的查找效率為O(lgN), 但對于插入廷痘,某些情況下,偏向性嚴(yán)重的情況下會退化成類似于具有N個節(jié)點的線性鏈表件已,此時時間的復(fù)雜度...
http請求 request line + header + body(header分為普通報頭,請求報頭和實體報頭) header與body之間有一空行(CRLF) req...
Connector類 Connector只負(fù)責(zé)建立socket連接,不負(fù)責(zé)創(chuàng)建TcpConnection對象,它的newConnectionCallback回調(diào)的參數(shù)是soc...
TcpConnection發(fā)送數(shù)據(jù) 之前我們的Channel僅僅用到了ReadCallback,而并沒有啟用WriteCallback,在本節(jié)中會設(shè)置為在需要時關(guān)注可寫事件,...
EventLoopThread類 一個程序可以有不止一個IO線程,IO線程也不一定是主線程,我們可以在任何一個線程創(chuàng)建并運行Eventloop.且任何一個線程只要創(chuàng)建并運行了...
本地電腦端1 .本地電腦生成SSHkey,通過命令生成: 2.上述命令會在=根目錄下生成/.ssh文件夾: 3.進(jìn)入該文件夾,打開id_rsa.pub文件,復(fù)制里面的內(nèi)容;然...
EventLoop中時序深究: 過程:1.在程序中我們一般會先構(gòu)造一個EventLoop對象(muduo::EventLoop loop),EventLoop構(gòu)造函數(shù)初始化列...
多線程與并發(fā)服務(wù)器: (1)循環(huán)式(iterative)服務(wù)器:每處理一次請求,就關(guān)閉一次,使用的是TCP短連接,只使用單線程模式,沒法充分發(fā)揮多核CPU的優(yōu)勢.(2)驚群現(xiàn)...
(1)父子進(jìn)程之間的繼承: fork()會產(chǎn)生一個和父進(jìn)程完全相同的子進(jìn)程枢冤,但子進(jìn)程在此后會exec系統(tǒng)調(diào)用,出于效率考慮歼狼,linux中引入了“寫時拷貝”copy on wr...
大型網(wǎng)站架構(gòu)演變過程 1.web動靜資源分離:動態(tài)請求:jsp,php等;動態(tài)請求應(yīng)用服務(wù)器處理如:Tomacat靜態(tài)請求: html,js,css等,靜態(tài)請求由http服務(wù)...
本項目想要實現(xiàn)的線程池的功能:(1) 讓不同的線程完成不同的任務(wù);把任務(wù)派生成一個基類,每個任務(wù)派生出一個任務(wù)參數(shù).(2) 把多個線程管理起來,通過創(chuàng)建一個管理者線程類.該線...
線程池的實現(xiàn)原理基本上就是生產(chǎn)者與消費者模型的擴展,即剛開始開出一定數(shù)量的線程,以基本生產(chǎn)者消費者模型為基本原理,不斷使用這些線程從"任務(wù)隊列"中取出任務(wù)進(jìn)行處理,本線程池中...
多線程之間的通信方式 三種專門用于線程同步的機制:POSIX信號量,互斥量和條件變量. POSIX信號量 在Linux上信號量API有兩組,一組是System V IPC信號...
線程是程序中完成一個獨立任務(wù)的完整執(zhí)行序列,即一個可以調(diào)度的實體;進(jìn)程是資源分配和調(diào)度的一個獨立單位,線程是進(jìn)程的一個實體,是CPU調(diào)度和分配的基本單位. 一個進(jìn)程至少擁有一...
Linux 簡要基礎(chǔ)知識 用戶空間/內(nèi)核空間操作系統(tǒng)的核心是內(nèi)核梅屉,獨立于普通的應(yīng)用程序值纱,可以訪問受保護(hù)的內(nèi)存空間,也有訪問底層硬件設(shè)備的所有權(quán)限坯汤。為了保證用戶進(jìn)程不能直接操作...
1.Linux網(wǎng)絡(luò)編程基礎(chǔ)API: 字節(jié)序分為大端字節(jié)序和小端字節(jié)序.小端字節(jié)序是指低位地址存放在內(nèi)存的低位地址處,高位字節(jié)存儲在內(nèi)存的高地址處.我們的x86主機一般采用小端...
Makefile文件簡介 Makefile文件定義了一系列的規(guī)則,來指定工程中的哪些文件需要編譯,哪些文件需要先編譯后編譯;其次Makefile文件可以像shell腳本一樣,...
智能指針的基本思想: 將堆對象的生存周期用棧對象(智能指針)來管理.當(dāng)new一個堆對象時,立刻用智能指針來接管,具體的做法是在構(gòu)造函數(shù)中進(jìn)行初始化(用一個指針指向堆對象),在...
多態(tài)是指:程序運行時,調(diào)用方法的行為應(yīng)取決于調(diào)用該方法的對象,一般情況下,我們一般要求父類的指針可以根據(jù)具體所指的對象類型,來執(zhí)行不同的函數(shù).知識點: C++支持兩種多態(tài)性:...
static,const和static const 以及它們的初始化 const 定義的常量在超出其作用域之后,其空間便會被釋放收回.C++11之后const成員變量可以在類...