高并发的情况下,程序hang住了,gstack 显示,主要hang在了stl内部
/usr/local/include/c++/9.3.0/bits/stl_tree.h +1928
在调用的std map的find的 时候使用红黑树,触发内存混乱。
修改方式:
1、加锁
2、map操作只在一个线程中顺序执行
总结:
stl本身不是线程安全的,多线程使用的时候需要小心
高并发的情况下,程序hang住了,gstack 显示,主要hang在了stl内部
/usr/local/include/c++/9.3.0/bits/stl_tree.h +1928
在调用的std map的find的 时候使用红黑树,触发内存混乱。
修改方式:
1、加锁
2、map操作只在一个线程中顺序执行
总结:
stl本身不是线程安全的,多线程使用的时候需要小心