来自非常好的libxml2的xmlCleanupParser()
不是线程安全的,我的问题是(我无法检查出来),xmlParseFile()
丢失了多少内存(粗略数字)并且 - 更重要的是 - 这种记忆损失累积了多次调用xPF()
?
答案 0 :(得分:3)
尽管如此,malloc()
和free()
或任何内存处理实现在C< C< 11,总是存在共享/全局内存的问题。
但是,从libxml2 2.4.7开始,您可以在API级别启用线程安全性,对于每个文档的单个线程:http://www.xmlsoft.org/threads.html
当我查看libxml2 2.9.1的来源时,我很肯定线程安全已经完全实现,尽管有全局互斥,但也有一个原子分配函数。
答案 1 :(得分:1)
根据意义事项给出的建议,并使用唯一的工具,我在OS2(这个古老的旧IBM操作系统)下找到了检查内存,在使用xCP()或使用xCP()之间的内存损失没有区别选择不(对我而言)。