【前言】基於通信基礎,介紹Hurricane實時處理系統的工程實現,主要使用C++語言。
一、IPC、socket、異步I/O epoll
二、C++11
1、linux內存管理中使用RALL原則,C++通過加入 類的構造函數和析構函數 解決資源管理問題。讓編譯器自己去調用析構函數釋放資源。
2、類對象的值傳遞問題會導致多次析構,使用智能指針;
3、C++怎么實現的線程和鎖機制;
4、多線程問題下的內存屏障(禁止編譯器優化)、CPU內存屏障(原子操作);
5、C++中的內存分配和碎片處理,使用更好的C++內存管理器代替默認的,如google的tcmalloc會在鏈接時期替代標准libc中的malloc和free;
6、內存池:在一塊內存上建立內存管理機制,使用分配算法來適應多變的零散內存申請需求;