如图所示,栈空间是每个线程私有的,其中每个方法有一个栈帧,里面保存了局部变量 返回地址等信息。
如果是多线程,每个线程都会有一个栈空间。
多线程切换的时候需要保存局部变量、当前的地址等信息。
线程上下文切换的时机:
时间片用完
调用api主动切换
为什么进程切换要比线程切换开销小呢?
因为不同进程不在同一个内存空间,所以当切换后tlb中的信息大部分会失效,就会访存导致变慢
如图所示,栈空间是每个线程私有的,其中每个方法有一个栈帧,里面保存了局部变量 返回地址等信息。
如果是多线程,每个线程都会有一个栈空间。
多线程切换的时候需要保存局部变量、当前的地址等信息。
线程上下文切换的时机:
时间片用完
调用api主动切换
为什么进程切换要比线程切换开销小呢?
因为不同进程不在同一个内存空间,所以当切换后tlb中的信息大部分会失效,就会访存导致变慢
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/903747.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!