__thread C++ 内存泄漏

__thread c++ memory leak

我有一个 class 像这样的:


class A {
  static __thread Arena * arena;
}

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

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

将 c++11 的 thread_local 与智能指针一起使用,例如

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