如图所示,栈空间是每个线程私有的,其中每个方法有一个栈帧,里面保存了局部变量 返回地址等信息。
如果是多线程,每个线程都会有一个栈空间。
多线程切换的时候需要保存局部变量、当前的地址等信息。
线程上下文切换的时机:
时间片用完
调用api主动切换
为什么进程切换要比线程切换开销小呢?文章来源:https://www.toymoban.com/news/detail-659857.html
因为不同进程不在同一个内存空间,所以当切换后tlb中的信息大部分会失效,就会访存导致变慢文章来源地址https://www.toymoban.com/news/detail-659857.html
到了这里,关于栈空间和栈帧的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!