关闭句柄的功用

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

------解决方案--------------------
handler是一种资源,如果你不需要的话那就关闭掉。不关闭也行没有什么严重的后果,但是万一出现什么问题了,那就让你不知所措了。
------解决方案--------------------
引用:
是为了释放系统资源吗?或者为了安全因素考虑?
如果不关闭句柄会出现什么情况?所有的句柄都应该在用完会马上关闭?


不关闭就可能造成诸如访问竞争之类的问题。
------解决方案--------------------
用完之后,进行释放,是个好的编程习惯。
一个程序能创建的句柄数是有限制的,如果不释放,并让程序一直运行下去,时间短了,可能不会出问题,
时间长了,句柄数会一直增加,内存也会减少。最后可能就死机了。
还有就是无法再创建句柄了,程序也会出现问题。
------解决方案--------------------
句柄是一种资源,用完的就得释放,就像内存一样

这符合C的一贯风格
------解决方案--------------------
比如:一个句柄关联到一个打开USB接口,假如其他程序要使用这个接口,他首先检测到有个句柄占用着,他就不能访问了,除非先施放了那个句柄。
------解决方案--------------------
检查是否资源泄漏的办法之一:
在任务管理器 进程 查看 选择列 里面选择:内存使用、虚拟内存大小、句柄数、线程数、USER对象、GDI对象
让你的程序(进程)不退出,循环执行主流程很多遍,越多越好,比如1000000次甚至无限循环,记录以上各数值,再隔至少一小时,越长越好,比如一个月,再记录以上各数值。如果以上两组数值的差较大或随时间流逝不断增加,则铁定有对应资源的资源泄漏!