栈这个结构为什么适合于线程执行
首先 java 的栈是线程私有的,随着方法调用而创建新的栈帧,栈帧主要存储方法调用需要的一些上下文,主要是局部变量表;其次线程执行主要涉及方法调用,调用方法的逻辑就是放下当前的工作,先进入调用的方法,等该方法返回或者抛出异常,再回到之前停下的位置。
那么总结一下,这个逻辑跟栈的实现逻辑是类似的,线程调用新的方法就对应内存中我们压入一个新的栈帧,在新的栈帧内部工作,等方法结束后返回或者抛出异常,回到原先位置,就对应我们弹出当前栈帧,回到低一层的栈帧。
参考评论:https://www.nowcoder.com/discuss/685298?toCommentId=9494566