【问题标题】:What is Process Heap?什么是进程堆?
【发布时间】:2016-09-07 12:08:58
【问题描述】:

最近我在读一本书“Under the .NET memory management”,作者多次提到进程堆,并写道他将在最后几章中讨论它。不幸的是,那里没有关于进程堆的内容)

任何人都可以推荐一些书籍或材料来阅读它吗?

谢谢。

【问题讨论】:

  • Windows上的程序可以创建任意数量的堆,底层winapi调用是HeapCreate()。但其中有两个是特别的并且总是可用的。默认进程堆 (GetProcessHeap()) 就是其中之一,它是 Windows 本身使用的堆。也可以通过 Marshal.AllocHGlobal() 在 .NET 中使用。 Mark Russinovich 的 Windows Internals 绝不是一个糟糕的选择。
  • 谢谢,现在我知道从哪里开始了。 )
  • #davit 你能解释一下它是什么

标签: .net memory-management compilation


【解决方案1】:

堆是预先保留的计算机主存储(内存)区域,程序进程可以使用它来存储在程序运行之前不知道的可变数量的数据。例如,一个程序可能会接受来自一个或多个用户的不同数量的输入进行处理,然后一次对所有输入数据进行处理。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-22
    • 2016-01-19
    • 1970-01-01
    • 2011-12-28
    • 1970-01-01
    • 2018-01-17
    • 2012-04-21
    • 2014-08-09
    相关资源
    最近更新 更多