使用shared_mutex的内存泄漏

时间:2019-05-14 14:21:32

标签: c++ memory-leaks c++17 mutex

以下代码导致内存使用率的提高:

#include <shared_mutex>

class foo
{
public:
   void bar()
   {
      std::unique_lock lock(m_mtx);
   }
   std::shared_mutex m_mtx;
};

int main()
{
   while (1)
   {
      foo obj;
      obj.bar();
   }
}

以下内容不:(仅更改互斥锁类型)

#include <mutex>

class foo
{
public:
   void bar()
   {
      std::unique_lock lock(m_mtx);
   }
   std::mutex m_mtx;
};

int main()
{
   while (1)
   {
      foo obj;
      obj.bar();
   }
}

我正在使用Windows 7,并使用任务管理器来跟踪程序的内存消耗。

我用mingw编译,并通过以下简单命令行进行编译:

g++.exe -std=c++17 -o mytest main.cpp

shared_mutex的使用有什么错?

0 个答案:

没有答案