社区
设计模式
帖子详情
资源管理问题
MagiSu
2010-06-08 02:27:51
现有资源用RAII封装在类A中。类B,C,D通过A的接口访问资源。我的设计是在BCD中各自保存一个指向A的指针或者引用。但是这不可避免的产生A已经过了生存期,但是BCD却不会被通知,这样就产生segfault了。如果不引入A向BCD反馈的机制,如何防止上述的错误发生呢?
...全文
140
8
打赏
收藏
资源管理问题
现有资源用RAII封装在类A中。类B,C,D通过A的接口访问资源。我的设计是在BCD中各自保存一个指向A的指针或者引用。但是这不可避免的产生A已经过了生存期,但是BCD却不会被通知,这样就产生segfault了。如果不引入A向BCD反馈的机制,如何防止上述的错误发生呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
donkey301
2010-06-11
打赏
举报
回复
在BCD中A的指针初始值设为NULL,
A的指针过了生存期删除后也把A的指针赋值为NULL
在BCD中要用A的指针前判断是不是这个指针为NULL.
MagiSu
2010-06-10
打赏
举报
回复
[Quote=引用 6 楼 sixbusy 的回复:]
观察者模式 吗
[/Quote]
对,观察者模式。
sixbusy
2010-06-09
打赏
举报
回复
观察者模式 吗
MagiSu
2010-06-09
打赏
举报
回复
[Quote=引用 4 楼 nut799 的回复:]
资源类A的生存期 没有设成全局变量,和程序一样长 ?难道 是局部变量?
[/Quote]
是的,需要在不用的时候释放。
nut799
2010-06-08
打赏
举报
回复
资源类A的生存期 没有设成全局变量,和程序一样长 ?难道 是局部变量?
MagiSu
2010-06-08
打赏
举报
回复
[Quote=引用 2 楼 wave820930 的回复:]
不反馈的话 用全局变量记录生存状态 可行么?
[/Quote]
有道理。
huang_dy
2010-06-08
打赏
举报
回复
不反馈的话 用全局变量记录生存状态 可行么?
Poptang
2010-06-08
打赏
举报
回复
不做反馈,还真的没有啥好办法呢。。。因为A的释放是不确定的,检查机制也不太好使
一般这样的需求采用引用计数,当引用计数为0的时候才给删除。。。
FrankFramework中PipelineSession关闭
资源管理
问题
分析与优化
本文围绕FrankFramework中PipelineSession关闭
资源管理
问题
展开。该会话组件负责维护数据处理资源,现存在性能
问题
,键被覆盖时资源仍留列表致其膨胀。经分析,决定引入启发式判断,对字符串消息特殊处理,避免列表无限增长,还给出实现建议。
Flux
资源管理
框架核心服务常见
问题
解决方案
本文围绕Flux
资源管理
框架核心服务,介绍其是用于高性能计算的
资源管理
工具,主要用C语言编写。针对新手使用时遇到的依赖安装、构建失败、启动实例等
问题
,分别给出了详细的解决步骤,助新手更好应对使用难题。
操作系统关键知识点之死锁
问题
解析与
资源管理
要点
本文围绕操作系统死锁
问题
与
资源管理
要点展开。介绍了
资源管理
基础,如信号量机制和单资源获取流程;分析多资源获取场景,指出顺序不同可能引发死锁。还通过通俗比喻讲解信号量与
资源管理
、多资源获取的‘顺序陷阱’,强调合理规划资源获取顺序可避免死锁。
Unity
资源管理
与优化相关
问题
本文围绕Unity
资源管理
与优化展开,介绍了Unity资源的概念、使用方法、特殊处理及内置类型,阐述了
资源管理
的重要性和方式,重点分析了
资源管理
与内存优化的关系,包括静态加载和动态加载的优化方案,还推荐了相关文章。
MTK
资源管理
和
问题
解决
本文探讨了在MTK平台上进行
资源管理
时面临的挑战及解决方案,包括如何利用临时文件诊断菜单、字串、图片等资源文件显示错误的
问题
。
设计模式
3,408
社区成员
1,071
社区内容
发帖
与我相关
我的任务
设计模式
专题开发/技术/项目 设计模式
复制链接
扫一扫
分享
社区描述
专题开发/技术/项目 设计模式
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章