应用程序的句柄是否是无限的?

maquanwei 2004-08-05 03:49:40
我们正在开发产品,突然发现产品中使用的一个第三方控件在使用的时候,没刷新一次就让程序增加一些句柄。
那个控件我们是看不到源码的,也不知道这些泄漏的句柄到底是什么东东。

现在我们看到程序占用的句柄数已经超过10000了,程序还在运行,没看出异常。

前几天看到GDI对象数目如果达到一万,程序就不能刷新界面了。

我很想知道,对于一个应用程序来说,它所能拥有的句柄数最大是多少?
...全文
105 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
bestbear 2004-08-05
如果随便用
系统资源怎么可能会不够呢
回复
holyeagle 2004-08-05
应该是有限的,尤其是在用GUI,开着开着就白屏了。
回复
lkcowboy 2004-08-05
用户能自定义的HANDLE是10000个
每个线程的消息栈装满才会出问题,这个栈大概也是10000吧
每个进程可以有很多线程的
回复
lanstar200 2004-08-05
====================================
Number of GDI object handles is 12,000 per process, 16,000 systemwide
袁峰的《Windows Graphics Programming Win32 GDI and DirectDraw》
====================================

比較可信
回复
月光莫利亚 2004-08-05
这样运行下去肯定会出问题呀,任何资源都有限制的。
回复
lygfqy 2004-08-05
我想知道你测试的句柄指的是什么句柄?
线程?gdi?还是别的什么?
回复
aspnetwuxueyou 2004-08-05
Number of GDI object handles is 12,000 per process, 16,000 systemwide
袁峰的《Windows Graphics Programming Win32 GDI and DirectDraw》
回复
DentistryDoctor 2004-08-05
这儿数字没个明确,但GDI对象的确超过了10000就会异常退出或出现些怪怪的问题。我估计微软会将它设置为32768或65536之类的东东。
回复
microyzy 2004-08-05
这个数字偶也不知道,不过肯定是有限的
回复
madhappy 2004-08-05
句柄不同限制是不一样的。

不过无限肯定不可能的阿。

句柄一般都是通过表来维护的。一个表总有大小限制的阿。
回复
相关推荐
发帖
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2004-08-05 03:49
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……