muduo庫介紹與安裝

2021-09-01 10:49:59 字數 1496 閱讀 5081

全部**5000行 (不含測試)

執行緒安全,原生支援多核多執行緒

不考慮移植性,不跨平台,只支援linux,不支援windows

主要支援x86-64,兼顧ia32

不支援udp,只支援tcp

不支援ipv6,只支援ipv4

不考慮廣域網應用,只考慮區域網(實際上muduo也可以用在廣域網上)

不考慮公網,只考慮內網。不為安全性做特別的增強

只支援一種使用模式:non-blocking io + one event loop per thread,不支援阻塞io

基於物件的程式設計風格:boost bind/function

moduo/base目錄下

\-- base

|-- asynclogging.

非同步日誌 backend

|-- atomic.h 原子操作與原子整數

|-- blockingqueue.h 無界阻塞佇列(消費者生產者佇列)

|-- boundedblockingqueue.h 有界阻塞佇列

|-- condition.h 條件變數,與 mutex 一同使用

|-- copyable.h 乙個空基類,用於標識 (tag) 值型別

|-- countdownlatch.

「倒計時門閂」同步

|-- date.

julian 日期庫(即公曆)

|-- exception.

帶 stack trace 的異常基類

|-- logging.

簡單的日誌,可搭配 asynclogging 使用

|-- mutex.h 互斥器

|-- processinfo.

程序資訊

|-- singleton.h 執行緒安全的 singleton

|-- stringpiece.h 從 google 開源**借用的字串引數傳遞型別

|-- tests 測試**

|-- thread.

執行緒物件

|-- threadlocal.h 執行緒區域性資料

|-- threadlocalsingleton.h 每個執行緒乙個 singleton

|-- threadpool.

簡單的固定大小執行緒池

|-- timestamp.

utc 時間戳

|-- timezone.

時區與夏令時

\-- types.h 基本型別的宣告,包括 muduo:

:string

安裝muduo庫

sudo yum install cmake

sudo yum install gcc-c++ # 安裝g++

boost安裝

tar zxvf muduo-0.9.0-beta.tar

cd muduo/

./build.sh

如何在自己專案中使用muduo?

muduo網路庫編譯安裝

sudo apt get install cmake sudo apt get install libboost dev tar zxf muduo 0.9.1 beta.tar.gz cd muduo build.shcentos系統使用yum install boost devel來安裝libb...

muduo網路庫編譯安裝

2 安裝依賴 sudo apt get install cmake sudo apt get install libboost dev tar zxf muduo 0.9.1 beta.tar.gz cd muduo build.sh centos系統使用yum install boost deve...

centos下Muduo庫的安裝

git clone2.在安裝muduo之前我們需要先安裝boost庫和cmake工具,muduo有三個非必要依賴庫,curl,c areas dns,google protobuf,這三個庫安裝之後,cmake會自動編譯出多一些例項。cmake安裝 3.進入muduo庫根目錄分別執行 build.s...