boost json线程不安全及其解决办法

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zawdd/article/details/53308372


项目中用多线程解析json数据,其中用到了boost 的json parser,但是近来发现问题会导致程序出core,最终定位原因是 boost json parser中用到ptree底层依赖boost::spirit,是线程不安全的,从而导致程序出core。解决方案:

在任何引入头文件的地方加上如下宏

#define BOOST_SPIRIT_THREADSAFE

#include <boost/property_tree/ptree.hpp>
#include<boost/property_tree/json_parser.hpp>


由于项目中除了使用boost外还用了jsoncpp 的son reader来解析数据,经过调研,该库也是不安全的,在使用中也需要注意。如果发现有解决方案再来更新。

展开阅读全文

没有更多推荐了,返回首页