c++ - __thread C++ 内存泄漏

标签 c++ memory-leaks thread-local

我有一个像这样的A类:


class A {
  static __thread Arena * arena;
}

如果一个线程被销毁或者退出,arena占用的内存会被释放吗?

最佳答案

arena 使用的内存将被释放,但它所指向的任何内容都不会被释放。

使用 c++11 的 thread_local 和智能指针,例如

class A {
  thread_local std::unique_ptr<Arena> arena;
}

关于c++ - __thread C++ 内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67717188/

相关文章:

go - go lang http处理程序中的内存泄漏

c++ - Assimp 泄漏内存

jersey - 在基于 RestEasy 的服务中为 ThreadLocal 存储使用服务器请求和响应过滤器

java - 线程局部变量是否需要是静态的才能造成内存泄漏

c++ - 我应该如何使用新的 C++11 标准进行 C++ 编程?

c++ - 永久且可靠地设置 gcc 全局包含路径

c++ - 在哪里放置模板特化

c++ - 无法获取返回值

clojure - Clojure 中的线程本地计数器

ios - Instruments Heapshots——这个数据是什么意思?