堆和栈, 他们是什么?

2017-10-27  本文已影响35人  rxdxxxx

堆和栈, 他们是什么?

文章地址

1.在通常情况下由操作系统(OS)和语言的运行时(runtime)控制吗?

每一个线程都有一个栈, 但是每个应用程序通常都只有一个堆.

答:

2. 哪个更快?

你问题的答案是依赖于实现的,根据不同的编译器和处理器架构而不同。下面简单的解释一下:

  1. 栈和堆都是用来从底层操作系统中获取内存的。
  2. 在多线程环境下每一个线程都可以有他自己完全的独立的栈,但是他们共享堆。并行存取被堆控制而不是栈。
上一篇 下一篇

猜你喜欢

热点阅读