3

RapidXml的文档说

池维护 RAPIDXML_STATIC_POOL_SIZE 字节的静态分配内存。在静态内存耗尽之前,不会进行动态内存分配。当静态内存耗尽时,池通过使用全局 new[] 和 delete[] 操作符分配每个大小为 RAPIDXML_DYNAMIC_POOL_SIZE 的额外内存块

我将其解释为:RapidXML 使用全局内存池。全局内存池线程上的操作是否安全?即,我可以在整个程序中使用多个 RapidXML 解析器实例而不必考虑线程问题吗?

4

1 回答 1

5

我的解释是错误的。“静态内存池”是放置在堆栈上的数组。因此,它不像 C++ 静态数组那样是静态的,而是像“非动态分配”那样是静态的。

结论:RapidXML 不共享实例之间的内存池。因此这个问题是无效的。

于 2010-11-15T08:44:35.293 回答