作者os653 (allstar)
看板C_and_CPP
标题Re: [问题] 有需要检查 new 失败的情形吗?
时间Tue Jun 16 01:28:40 2009
想请问
new 失败的原因是什麽?
我的猜想是
每个程式在执行时由系统配置了一块虚拟出来的记忆体
如果这块虚拟记忆体上没有足够的连续空间供 new 使用
new 就会失败
如果程式本身不释放记忆体的话
就算重复 new 也永远不会成功
不知道这样的解释对吗?
如果这样的解释正确的话
那在多执行绪下
是多个执行绪共有一块虚拟记忆体
还是各有自己的一块虚拟记忆体呢?
会问这个问题,是在想设一个不做事的 new handler 有没有意义
如果跟我想的一样的话
设置一个不做事的 new handler 跟 while (true) 其实是一样的意思
只会导致程式没有回应
如果跟我想的不一样的话
设置一个不做事的 new handler 会导致 new 不断重试
直到有其他程式释放出记忆体供这个程式使用
那就可以当做 new 不会失败
请问实际情况是哪个呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.170.61.38