我的问题是关于Borland C++Builder 6.0中的C++Builder
如您所知,VCL的AnsiString使用引用计数。
那个参考计数线程安全吗?
例如,假设我们有std::queue<AnsiString> asq;
我们在thread#1中的队列中推送一个asq.pop()值,然后在thread#2中执行asq.pop()。(对asq本身的访问是同步的。)字符串不被修改。
当AnsiString的析构函数在使用AnsiString时被调用时,是否有可能出现内存泄漏?
发布于 2020-06-02 20:53:34
是的,重新计数是线程安全的。RTL无论何时递增和递减,都会将一个锁锁定在重新计数上。在您描述的场景中不会有任何内存泄漏。
https://stackoverflow.com/questions/62153056
复制相似问题