【发布时间】:2020-10-01 12:47:45
【问题描述】:
我希望这不是一个愚蠢的问题。我目前正在尝试将线程理解为它们的内存分配。在那里我遇到了堆栈的概念。而且我相信已经理解了 FIFO 的(相当简单的)概念,但我不明白的是:
如果我有一个线程并执行它,那么该方法将堆栈用于它的所有数据,但如果堆栈是 FIFO,那么您只能使用每条数据一次,因为一旦访问数据,从堆栈中弹出。但是如果我有一个使用 f.e. 的方法呢?变量的两倍或三倍? (编译的)进程是否提前知道,它必须将数据放入堆栈 3 次,因为它被使用了 3 次,或者这是如何工作的?
非常感谢您!
【问题讨论】:
-
这是在问什么语言?
-
一方面我想到了 Java,另一方面也想到了 C,在我的工作中我想将它们与 Google 的 Go 进行比较,因为我了解到 Go 处理并行化的方式完全不同。
标签: multithreading stack fifo