c++ - 使用 shared_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 时做错了什么?
解决方案
推荐阅读
- javascript - React - 将 id 从 array.map 传递到 API 中的 url 变量
- python - 如何使用python在sql中用空格插入列名中的值
- kubernetes - Quarkus 问题 -> 从 quarkus-maven-plugin 收到警告
- testflight - 为什么推送通知不适用于测试飞行(生产设置)?
- python - 如何通过我的 GraphDB 存储库从 Python 运行 sparql 查询?
- python - 如何检查代码不足的 Treenode 类?
- android - 如何在android的后台定期监听websocket
- c# - 如何在不提供路径的情况下将图像保存在默认位置
- python - TensorFlow、Pixellib、Conda。“找不到 DLL 'msvcp140.dll 或 msvcp140_1.dll'”
- reactjs - 有没有办法支持材质 ui 的自动完成组件中的嵌套分组?