首页 > 系统相关 >QSharedPointer创建导致内存泄漏,以及析构异常的问题

QSharedPointer创建导致内存泄漏,以及析构异常的问题

时间:2023-05-22 20:13:08浏览次数:35  
标签:QSharedPointer item 内存 析构 new MyClass

1,下面的代码导致了内存泄漏

auto item=QSharedPointer ( new MyClass(),&QObject::deleteLater)

2,去掉了自定义析构后,内存泄漏问题解除,但是导致了新的问题,

auto item=QSharedPointer<MyClass> ( new MyClass())

在item析构时出现了析构错误:

QCoreApplication::sendEvent: “cannot send events to objects owned by a different thread

将代码改成

auto item=QSharedPointer<MyClass> ( new MyClass(),&MyClass::deleteLater)

后,析构错误消除

标签:QSharedPointer,item,内存,析构,new,MyClass
From: https://www.cnblogs.com/fastexpress/p/17421601.html

相关文章

  • 一个故事看懂内存条工作原理
    微信公众号我是内存条我是一个内存条,刚刚从深圳的一个工厂里被生产出来,跟我一起的还有一批小伙伴,长得跟我一模一样,下了流水线后我们就被扔进了一处黑暗的角落。“这是哪里啊,黑漆漆的”,一个小伙伴说到。“这里是内存条仓库”,黑暗中有人在说话,声音中略有一丝沧桑,像是一个老头。“谁......
  • windows系统下SNMP协议获取系统内存、CPU实例代码
    系统环境:win10注:win10及以下windows平台,在控制面板,程序中,添加snmp服务功能。可参照:https://jingyan.baidu.com/article/3d69c5515e56b3f0cf02d7bf.html为方便测试snmp协议,先关闭系统防火墙,后续可根据需要进行防护墙配置。工具资源下载:https://download.csdn.net/download/csdnyang......
  • Python3.8多进程之共享内存
    转载:Python3.8多进程之共享内存-知乎(zhihu.com)最近发了个宏愿想写一个做企业金融研究的Python框架。拖出Python一看已经更新到了3.8,于是就发现了Python3.8里新出现的模块:multiprocessing.shared_memory。随手写了个测试。生成一个240MB大小的pandas.DataFrame,然后转换成nu......
  • 浮点数在内存中的存储规则
    我们知道,整型在内存中的存储比较简单,在内存中都是以二进制来存储的。然而,浮点型在内存中的存储较为复杂。下面来详细探讨:直接举一个例子:intmain(){intn=9;float*pFloat=(float*)&n;printf("n的值为:%d\n",n);printf("*pFloat的值为:%f\n",*pFloat);*pFloat=9.0;pri......
  • 使用 Elasticsearch 的 REST API 来查询节点的内存使用情况
    curl-XGET'http://172.18.10.96:9200/_nodes/node-1/stats?pretty&human&filter_path=nodes.*.jvm.mem.heap_used_percent'{"nodes":{"WKECtNqYSuCKgHu-HNJTfg":{"jvm":{"mem":......
  • 【重学C++】01| C++ 如何进行内存资源管理?
    文章首发【重学C++】01|C++如何进行内存资源管理?前言大家好,我是只讲技术干货的会玩code,今天是【重学C++】的第一讲,我们来学习下C++的内存管理。与java、golang等自带垃圾回收机制的语言不同,C++并不会自动回收内存。我们必须手动管理堆上内存分配和释放,这往往会导致内存泄漏......
  • python内存管理机制
    1:引用计数机制实现垃圾回收对象引用一次,引用计数就增加1,销毁计数就减少1,当引用计数为零时,从内存中删除对象。还有一种情况,ab两对象互相引用时,del语句可以减少引用计数,但不会归零。会导致内存泄漏,解释器会定期执行一个循环检测,搜索不可访问对象的循环,并删除他们2:内存池机制为了......
  • 创建对象内存分析
    创建对象内存分析类与对象类是一个模板,抽象;对象是一个具体的示例方法定义、调用!对应的引用引用类型:基本类型(8种)对象是通过引用来操作的:栈------>堆属性:字段Field成员变量默认初始化:数字:00.0char:u0000boolean:null引用:null修饰符属性类型属性名=......
  • C++内存管理
    C/C++内存分配在一个程序的进程地址空间中,其内存分配如下:栈用来存储非静态局部变量、函数参数/返回值等,栈是向下增长的;堆用于程序的动态内存分配,堆是向上增长的;数据段用来存储全局数据和静态数据;代码段用来存储可执行指令,只读常量,字符串常量就存储在代码段中。数据段和代码段在语言......
  • 【JMM内存模型-4】JMM内存模型之CPU缓存策略-jmmcpu4
    title:【JMM内存模型-4】JMM内存模型之CPU缓存策略date:2021-11-1713:27:48.139updated:2021-12-2617:43:10.442url:https://www.yby6.com/archives/jmmcpu4categories:-并发编程-JMM内存模型tags:-并发编程CPU缓存策略原理缓存概述CPU为了提升执行效率,减少C......