![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++11
NKCJ
这个作者很懒,什么都没留下…
展开
-
C++多线程操作stl的对象可能会搞乱stl的对象内部结构,陷入死循环
高并发的情况下,程序hang住了,gstack 显示,主要hang在了stl内部/usr/local/include/c++/9.3.0/bits/stl_tree.h +1928在调用的std map的find的 时候使用红黑树,触发内存混乱。修改方式:1、加锁2、map操作只在一个线程中顺序执行总结:stl本身不是线程安全的,多线程使用的时候需要小心...原创 2021-04-16 17:39:24 · 262 阅读 · 1 评论 -
显示调用析构函数被g++编译器优化掉 不执行,导致析构函数调用失败
问题背景: 池化需要变量,然后在变量的析构中执行一些代码,控制变量的版本,防止变量被释放后被调用执行,但是此时发生在Release析构函数不执行情况。原因: -O3 优化将析构函数优化不执行。解决方案:变量名称增加volatile 定义: ...原创 2020-07-24 11:50:37 · 386 阅读 · 0 评论 -
shared_from_this() 作用:
c++11中的shared_from_this() c++11中的shared_from_this()来源于boost中的enable_shared_form_this类和shared_from_this()函数,功能为返回一个当前类的std::share_ptr,这是一次深拷贝操作,使用方法如下: std::shared_ptr<DeleteFileHandle>...转载 2019-07-25 17:40:02 · 1113 阅读 · 0 评论