Fork me on GitHub

java线程:线程栈模型与线程的变量

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

-----------------本文结束,感谢您的阅读-----------------