gpt4 book ai didi

windows - 进程终止会自动释放所有使用的内存吗?有什么理由明确地这样做吗?

转载 作者:可可西里 更新时间:2023-11-01 11:27:21 26 4
gpt4 key购买 nike

在 Windows NT 和更高版本中,我假设当一个进程到期时,无论是因为它自己终止还是被强制终止,操作系统都会自动回收该进程使用的所有内存。在任何情况下这不是真的吗?是否有任何理由显式释放用户模式应用程序使用的所有内存?

最佳答案

每当一个进程结束时,映射到它的所有内存页都会返回到可用状态。正如您所说,这可以称为“回收内存”。但是,它不会执行诸如运行析构函数之类的操作(如果您使用的是 C++)。

强烈建议释放所有内存,不是从资源的角度,而是从开发的角度。尝试释放内存会鼓励您考虑内存的使用生命周期,并帮助您确保正确清理。

这在短期内无关紧要,但我处理过无数软件程序,它们假定自己拥有进程,因此不必自行清理。然而,想要在沙箱中运行程序有很多原因。如果不必每次都重新创建流程,许多随机测试场景可以运行得更快。我也有几个程序认为它们会是独立的,只是为了找到集成到更大的软件包中的愿望。那时,我们发现了内存管理所走的所有捷径。

关于windows - 进程终止会自动释放所有使用的内存吗?有什么理由明确地这样做吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31793305/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com