muduo是基于非阻塞IO和事件驱动的C++网络库
对象的构造和析构:
1.对象构造要做到线程安全,唯一要做到的就是在构造期间不泄露this指针,即:
不要在构造函数中注册回调函数;
不要在构造函数中把this指针传递给跨线程的对象;
在执行构造函数的过程中,对象其实还是没有完成初始化,this指针的泄露会造成其他对象可以访问这个还没有创建好的对象,行为未可知
2.对于对象析构,要让析构函数按照本来的顺序依次执行,而不要并发执行。
本class成员的mutex对象只能同步和保护本class的其他数据成员的读写,并不能保护到析构函数
C++中可能出现的内存问题:
1.缓冲区溢出
2.悬空指针/野指针
3.重复释放
4.内存泄露
5.new和delete的调用不成对
6.内存碎片
智能指针(RAII原则)可以解决1~5
gdb thread apply all bt
未完待续。。。