要理解线程调度的原理,以及线程执行过程,必须理解线程栈模型。
线程栈是指某时刻时内存中线程调度的栈信息,当前调用的方法总是位于栈顶。线程栈的内容是随着程序的运行动态变化的,因此研究线程栈必须选择一个运行的时刻(实际上指代码运行到什么地方)。
下面通过一个示例性的代码说明线程(调用)栈的变化过程。

这幅图描述在代码执行到两个不同时刻1、2时候,虚拟机线程调用栈示意图。
当程序执行到t.start();时候,程序多出一个分支(增加了一个调用栈B),这样,栈A、栈B并行执行。
从这里就可以看出方法调用和线程启动的区别了。
理解线程调度与栈模型:从代码示例出发
本文通过一个示例性代码,深入解析线程调度的原理及线程执行过程,着重解释了线程栈模型的作用与线程启动与方法调用的区别。了解线程栈动态变化过程,有助于掌握并发编程的基础。
773

被折叠的 条评论
为什么被折叠?



