gpt4 book ai didi

c++ - Boost 属性树的并发问题

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:21:57 26 4
gpt4 key购买 nike

我开发了一个简单的包装器,它用 Boost 属性树封装了一个 JSONObject。问题是此代码中的段错误:

void JSONObject::parse(const std::string &text)
{
std::istringstream ss(text);
boost::property_tree::read_json(ss, *pt);
}

一些上下文,我正在使用 JSON 进行消息序列化。如果程序只使用一个线程,则它可以毫无问题地工作。但是,如果程序使用两个线程,则在上述代码的最后一行会出现段错误。

每个线程都有自己的 JSONObject 对象,线程之间不共享任何变量。我的想法是,流可能在内部不是线程安全的。

谁能帮帮我?

最佳答案

我发现了问题。为了使 boost 属性树成为线程安全的,有必要添加此标志:

#define BOOST_SPIRIT_THREADSAFE

添加此标志后,代码运行没有任何问题。

感谢您的帮助。

关于c++ - Boost 属性树的并发问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14140243/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com