RapidXml поток безопасен? - PullRequest
3 голосов
/ 15 ноября 2010

Документация для RapidXml говорит о

Пул поддерживает RAPIDXML_STATIC_POOL_SIZE байтов статически выделенной памяти.Пока статическая память не исчерпана, динамическое выделение памяти не выполняется.Когда статическая память исчерпана, пул выделяет дополнительные блоки памяти размером RAPIDXML_DYNAMIC_POOL_SIZE каждый, используя глобальные операторы new [] и delete []

Я интерпретирую это как: RapidXML использует глобальный пул памяти.Безопасны ли операции с потоком глобального пула памяти?Т.е. я могу использовать несколько экземпляров синтаксического анализатора RapidXML во всей моей программе без необходимости учитывать проблемы с многопоточностью?

1 Ответ

5 голосов
/ 15 ноября 2010

Моя интерпретация была неверной. «Пул статической памяти» - это массив, размещенный в стеке. Поэтому он не статичен, как в статическом массиве C ++, а скорее статичен, как в «не динамически размещаемых».

Вывод: RapidXML не разделяет пул памяти между экземплярами. Поэтому вопрос недействителен.

...