要理解线程调度的原理,以及线程执行过程,必须理解线程栈模型。
线程栈是指某时刻时内存中线程调度的栈信息,当前调用的方法总是位于栈顶。线程栈的内容是随着程序的运行动态变化的,因此研究线程栈必须选择一个运行的时刻(实际上指代码运行到什么地方)。
 
下面通过一个示例性的代码说明线程(调用)栈的变化过程。
 
Java线程:线程栈模型与线程的变量(转)
 
这幅图描述在代码执行到两个不同时刻1、2时候,虚拟机线程调用栈示意图。
 
当程序执行到t.start();时候,程序多出一个分支(增加了一个调用栈B),这样,栈A、栈B并行执行。
 
从这里就可以看出方法调用和线程启动的区别了。

相关文章:

  • 2021-08-21
  • 2021-11-10
  • 2021-12-04
  • 2021-07-18
  • 2021-06-28
  • 2021-10-17
  • 2022-12-23
猜你喜欢
  • 2021-11-12
  • 2021-04-19
  • 2022-01-10
相关资源
相似解决方案