【前言】基于通信基础,介绍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、内存池:在一块内存上建立内存管理机制,使用分配算法来适应多变的零散内存申请需求;