原创 再談進程—從入門到出家

再談進程—從入門到出家 這段時間由於工作上用到幾個比較基礎的進程編程,卻發現自己好久沒有接觸進程了,都狂忘了!不得不感慨幾句:老了老了~~~ 趁着對進程的回憶,也總一個簡單的總結,下次可以回頭看看,也幫大家做一個回顧 這篇文章

原创 boost庫使用—線程類

boost庫使用—線程類 boost 庫中提供了兩種創建線程的方式,一種是單個線程創建,另外一種是線程組的創建,進行線程管理 ;同時,在線程庫中還提供了鎖的方式; thread 線程 thread 就是沒有組管理,與我們在li

原创 ZMQ從入門到掌握三

ZMQ從入門到掌握<三> 訂閱-發佈模式 ZeroMQ的訂閱發佈模式是一種單向的數據發佈,當客戶端向服務端訂閱消息之後,服務端便會將產生的消息源源不斷的推送給訂閱者 特點: 1.一個發佈者,多個訂閱者的關係,1:n; 2.當

原创 匿名函數lambda表達式

匿名函數lambda表達式 在C++11中引入了匿名函數,也就是所謂的lambda表達式;其實這個表達式在python、JAVA等語言中早就已經存在了,但是很不建議大家使用這個表達式;原因是這種表達式一出現,很多人都是蒙圈的,但

原创 C++11異步 async

C++11異步 async 一、簡介 **std::async()**是一個接受回調(函數或函數對象)作爲參數的函數模板,並有可能異步執行它們. 函數原型: template<class Fn, class... Args> f

原创 libevent從入門到掌握五

libevent從入門到掌握<五> 鏈接監聽器evconnlistener evconnlistener 機制提供了監聽和接受 TCP 連接的方法 創建和釋放evconnlistener struct evconnlistene

原创 我們需要懂得CMake文件

我們需要懂得CMake文件 一、前言 ​ 從事於linux下的C++開發的人員都知道,在C++下編寫程序是沒有類似windows下編譯器的一鍵編譯和運行的按鈕,只能由我們開發人員進行手動編譯、運行;爲了減免這種繁瑣而且複雜的勞

原创 redis源碼:SDS是何方人物

redis源碼:SDS是何方人物 SDS介紹: Redis中SDS稱之爲簡單動態字符串 sds數據結構與API相關文件是:sds.h, sds.c。 最大預分配長度: #define SDS_MAX_PREALLOC (1024

原创 boost庫使用—asio庫

boost庫使用—asio庫 **** 一、boost庫asio簡介 Boost Asio ( asynchronous input and output)關注異步輸入輸出。Boost Asio庫提供了平臺無關性的異步數據處理能力

原创 boost庫使用—函數回調

boost庫使用—函數回調 result_of 確定表達式的類型 包含頭文件: #include <boost/utility/result_of.hpp> using namespace boost; 案例: #inclu

原创 Seesion在C++服務端是怎麼使用的?

Seesion在C++服務端是怎麼使用的? 前面介紹了cookie和session兩種機制的產生和使用過程(可以關注CPP後臺服務器公衆號查看),但是,似乎在我們C++後臺開發過程中遇見的很少; 那session在我們服務端是怎麼使用的呢

原创 ZMQ從入門到掌握二

ZMQ從入門到掌握<二> 源碼走讀 1.zmq_ctx_new() //返回ctx_t對象 void *zmq_ctx_new (void) { // We do this before the ctx constr

原创 libevent從入門到掌握六

libevent從入門到掌握<六> 一、前言 ​ 在libevent中,封裝了http模塊,包括很多相關的接口,主要記錄一下簡單的http使用方法和接口源碼內容; ​ 創建http方式有很多種,這裏只是一種簡單的方式,僅供參考;

原创 libevent從入門到掌握四

libevent從入門到掌握<四> 數據緩衝Bufferevent 很多時候,除了響應事件之外,應用還希望做一定的數據緩衝。比如說,寫入數據的時候 ,通常的運行模式是: 決定要向連接寫入一些數據,把數據放入到緩衝區中 等待連

原创 ZMQ從入門到掌握一

ZeroMQ從入門到掌握<一> 一、ZeroMQ簡述 ZeroMQ是一種基於消息隊列的多線程網絡庫,其對套接字類型、連接處理、幀、甚至路由的底層細節進行抽象,提供跨越多種傳輸協議的套接字。引用雲風的話來說:ZeroMQ 並不是一