我想问一个问题

weikeli19 2019-12-18 12:08:52
如果线程时间片用完 那么程序就会暂停切换线程,那如果此时线程里有一个方法 比如fangfa(int a,int b) 那么在传递方法里的a的时候 时间片到了 是不是就在fangfa(int a <--这里暂停了 int b还没进行传参, 是这样吗?还是说 不管时间片到没到 某一方法里的所有参数传参一定会完成?谢谢了
...全文
69 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
程序员不鸣 2019-12-19
  • 打赏
  • 举报
回复
其实没那么复杂,每个线程都有一个程序计数器,所谓传参的过程只不过是程序计数器指定到了某条字节码而已,在线程上下文切换时保留这个程序计数器的执行位置,然后在下次获取到时间片时继续执行这个位置的字节码就行了。建议看看jvm相关
qybao 2019-12-18
  • 打赏
  • 举报
回复
应该是前者,即把实参复制到a形参后,线程暂时停止下一步指令,重新获得cpu时再继续下一步指令,继续把实参复制到b形参
weikeli19 2019-12-18
  • 打赏
  • 举报
回复
引用 1 楼 qybao 的回复:
应该是前者,即把实参复制到a形参后,线程暂时停止下一步指令,重新获得cpu时再继续下一步指令,继续把实参复制到b形参


谢谢了 我一直对这个不懂 苦于网上找不到答案 谢谢了

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧