gpt4 book ai didi

c++ - boost spirit V2 Qi 语法线程安全吗?

转载 作者:行者123 更新时间:2023-11-30 03:20:42 25 4
gpt4 key购买 nike

在阅读 boost spirit V2 文档时,this SO-questionthis top google spirit doc result for spirit classic/v1我找不到关于 boost spirit V2 语法和规则的线程安全的任何声明。有些人声称它不再像经典的那样,#define BOOST_SPIRIT_THREADSAFE 不会有任何效果,但如果 V2 在线程安全方面与经典没有什么不同,那么提到来源是'不太清楚它是在谈论不同的实例还是共享的实例。

所以我的主要问题是:


<强>1。 distinct spirit V2语法对象线程安全吗?

如果知道的话,可选的:

<强>2。共享 spirit V2 语法对象线程安全吗?

<强>3。 distinct spirit V2 规则对象线程安全吗?

<强>4。共享 spirit V2 规则对象线程安全吗?

我也将它标记为 spirit x3,因为那里是同一个问题。

最佳答案

实际上 BOOST_SPIRIT_THREADSAFE 不适用于 Qi,它适用于 Classic。

除此之外,线程安全唯一依赖的是 Boost 是否支持线程。五年来我发现的所有迹象表明,没有库明确支持没有线程支持的构建。 (What exactly does `threading=multi` do when compiling boost?)。

非终结符(语法和规则)是线程安全的,除非您派生出自己的非无状态语法并且parse 操作不是const。

在实践中,更愿意编写您的解析器,以便它们可以显式地被 const 限定:

Parser const p;

book ok = parse(f, l, p);

X3 使得证明线程安全变得更容易,因为规则通常是 const 全局静态(甚至是 constexpr)并且本质上是无状态的。

关于c++ - boost spirit V2 Qi 语法线程安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52678809/

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