Java线程:线程栈模型

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

要理解线程调度的原理,以及线程执行过程,必须理解线程栈模型。

线程栈是指某时刻时内存中线程调度的栈信息,当前调用的方法总是位于栈顶。线程栈的内容是随着程序的运行动态变化的,因此研究线程栈必须选择一个运行的时刻(实际上指代码运行到什么地方)。

下面,我们来根据这段代码和图片来来说明线程栈的过程

package cn.happy.bdqn;publicclassTestRunnable {/**

* @param args*/publicstaticvoidmain(String[] args) {//TODO Auto-generated method stubSystem.out.PRintln("Hello World!");newTestRunnable();

}publicvoidmeThod(){

DoSomething ds1=newDoSomething("阿三");

Thread t1=newThread(ds1);

t1.start();

}

}

可以看出,当代码执行到两个时刻(1和2)的时候,虚拟机调用栈的过程。

当程序执行到t1.start()的时候,可以看出,程序多了一个分支,(增加了一个调用栈B),这样栈A和栈B并行执行。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航