多线程,在构造期间不能泄露this指针
对象构造要做到线程安全,唯一的要求是在构造期间不要泄露this指针,即:不要在构造函数中注册任何回调;也不要在构造函数中把this传给跨线程的对象;即便在构造函数的最后一行也不行。之所以这样规定,是因为在构造函数执行期间对象还没有完成初始化,如果this被泄露给了其他对象(其自身创建的子对象除外),那么别的线程有可能访问这个半成品对象,这会造成难以预料的后果。参考文献:《Linux多线程服务端编程:使用muduo C++网络库 》...
原创
2021-06-14 11:05:55 ·
355 阅读 ·
0 评论