关闭句柄的作用?

chen327684096 2012-05-07 07:37:15
是为了释放系统资源吗?或者为了安全因素考虑?
如果不关闭句柄会出现什么情况?所有的句柄都应该在用完会马上关闭?
...全文
749 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
-Chamgin 2013-07-29
  • 打赏
  • 举报
回复
还是释放的好
chen327684096 2012-05-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

当程序退出的时候,操作系统会自动关闭句柄的。
[/Quote]
只是程序退出而不是关闭系统吗?
dic_008 2012-05-08
  • 打赏
  • 举报
回复
比如:一个句柄关联到一个打开USB接口,假如其他程序要使用这个接口,他首先检测到有个句柄占用着,他就不能访问了,除非先施放了那个句柄。
jackyjkchen 2012-05-08
  • 打赏
  • 举报
回复
句柄是一种资源,用完的就得释放,就像内存一样

这符合C的一贯风格
Red_angelX 2012-05-08
  • 打赏
  • 举报
回复
handle数也是有限制的 你不释放 如果要申请很多handle就会失败
支持英文数字 2012-05-08
  • 打赏
  • 举报
回复
2楼
什么是句柄?
句柄用在什么地方?
[Quote=引用 1 楼 的回复:]
handler是一种资源,如果你不需要的话那就关闭掉。不关闭也行没有什么严重的后果,但是万一出现什么问题了,那就让你不知所措了。
[/Quote]
jiuzhoulh 2012-05-08
  • 打赏
  • 举报
回复
句柄会消耗资源的,最好用完就释放
Athenacle_ 2012-05-08
  • 打赏
  • 举报
回复
就像malloc内存后要free一样,只不过这个更严重一点
赵4老师 2012-05-08
  • 打赏
  • 举报
回复
检查是否资源泄漏的办法之一:
在任务管理器 进程 查看 选择列 里面选择:内存使用、虚拟内存大小、句柄数、线程数、USER对象、GDI对象
让你的程序(进程)不退出,循环执行主流程很多遍,越多越好,比如1000000次甚至无限循环,记录以上各数值,再隔至少一小时,越长越好,比如一个月,再记录以上各数值。如果以上两组数值的差较大或随时间流逝不断增加,则铁定有对应资源的资源泄漏!
zhjf14 2012-05-07
  • 打赏
  • 举报
回复
用完之后,进行释放,是个好的编程习惯。
一个程序能创建的句柄数是有限制的,如果不释放,并让程序一直运行下去,时间短了,可能不会出问题,
时间长了,句柄数会一直增加,内存也会减少。最后可能就死机了。
还有就是无法再创建句柄了,程序也会出现问题。
feidegengao 2012-05-07
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
引用楼主 的回复:
是为了释放系统资源吗?或者为了安全因素考虑?
如果不关闭句柄会出现什么情况?所有的句柄都应该在用完会马上关闭?


不关闭就可能造成诸如访问竞争之类的问题。
[/Quote]是不是互斥的问题?
chen327684096 2012-05-07
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

引用楼主 的回复:
是为了释放系统资源吗?或者为了安全因素考虑?
如果不关闭句柄会出现什么情况?所有的句柄都应该在用完会马上关闭?


不关闭就可能造成诸如访问竞争之类的问题。
[/Quote]

能详细说一下访问竞争吗?
pathuang68 2012-05-07
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
是为了释放系统资源吗?或者为了安全因素考虑?
如果不关闭句柄会出现什么情况?所有的句柄都应该在用完会马上关闭?
[/Quote]

不关闭就可能造成诸如访问竞争之类的问题。
xiejijun_05 2012-05-07
  • 打赏
  • 举报
回复
当程序退出的时候,操作系统会自动关闭句柄的。
W170532934 2012-05-07
  • 打赏
  • 举报
回复
handler是一种资源,如果你不需要的话那就关闭掉。不关闭也行没有什么严重的后果,但是万一出现什么问题了,那就让你不知所措了。

65,184

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧