为什么链表存储在堆中而不是堆栈中?



我一直被教导在堆中使用链表,但我不明白为什么你不能在堆栈中使用它?

这个命题实际上是错误的;链表不仅存储在堆栈上,而且通常有一个链表作为运行时堆栈的一部分进行维护:这就是我们能够获得调用跟踪的方式。由于帧指针的链接列表,通过调用堆栈链接,因此可以进行调用跟踪。

链表可以由节点组成,每个节点位于不同执行上下文(如线程(的堆栈中。有一种操作系统技术,通过在线程堆栈上声明链表节点并将其直接排队到等待队列中,将任务置于等待队列中休眠状态。

相关内容

  • 没有找到相关文章

最新更新