躺着卷 2023-02-02 14:49 采纳率: 0%
浏览 30

C++线程内存持续上升,很迷惑

一个C++ 存图线程,用的cv::imwrite存图,线程内只写一个imwrite的时候内存占用正常不增加;写两个imwrite的时候内存占用持续增加,直到out of memery。

一开始我觉得是内存泄漏,但是没有new什么东西,不像这个问题;后来我觉得的是线程数据堵塞,但是中间没有图片过来的时候,内存占用只会原地停住不动,不会减少,不像是数据堵塞;然后就不知道该怎么整了。

img

就是上图那两个cv::imwrite,写一个的时候程序正常。像上图那样写两个就内存持续上升了。请问有什么解决的办法吗

  • 写回答

3条回答 默认 最新

  • 於黾 2023-02-02 15:40
    关注

    没怎么看懂你这个逻辑
    首先,死循环里没有if,那你的线程就永远不停的存图,什么时候停呢
    其次,没有sleep,即使内存不爆炸,cpu不跑满了吗

    评论

报告相同问题?

问题事件

  • 创建了问题 2月2日