VC 中如何限制线程的内存使用

VC 中如何限制线程的内存使用,第1张

怎么限制?能限制吗,呵呵?如果某项任务一定要用那么多的内存,你限制了那岂不无法完成这项任务了?那这项任务是不是撤销?

嘛,反正我觉得是不能限制的;如果你是通过拦截某些申请内存的函数来实现的话结果就是跟我上面说的一样,某些任务将会无法完成;如果你的确需要这项功能,那么你完全可以通过拦截申请内存这些函数来实现。呵呵,说多了,希望你能看懂

==================================

这样的,你可以写一个类专门负责维护内存使用,这个类至少要提供一个申请空间和释放空间的接口,所有任务在申请内存都使用这个类的接口来完成好了。

对了,你是不是在写一个类似Online Judge那样的系统?(就是像ACM提交源码到服务州辩器运行那种)如果是这种系统的话那就麻烦了,呵呵,我也不太清楚是怎样的实现的,可能你需要查查WINDOWS的任务管理器是怎么查询某个进程占用的内存的技术了

==================================

这么说你的线程运行的代码是外部(来自DLL之类的,执行伍迹运DLL里的一个函数之类),这样吗?腔梁

==================================

那样的话我也不是很懂……等高人来回答吧……

时间好说。创建线程时设置计时器,时间到线程返回即可(最佳)。如果线程内部返唯清晌回有困难,可以在主线程中使用TerminateThread之类的函数结束线程(慎用)。内存占用不好说。简单办法是搞正虚清楚你在线程中分配内存的指锋 *** 作并计数,达到规定值时返回。

你这样问手州慎问题不会有有效毕敬答案的,放代码吧。

另外,程序无法获得内存只会导致程序运迹雀行出错, *** 作系统不会为内存申请设限的。当然,如果在程序里进行了内存管理就是另一种情况了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8265280.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存