码迷,mamicode.com
首页 > 编程语言 > 详细

Java线程:线程栈模型

时间:2015-10-27 00:29:14      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:

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

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

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

package cn.happy.bdqn;

public class TestRunnable {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println("Hello World!");
        new TestRunnable();
    }
    public void meThod(){
        DoSomething ds1=new DoSomething("阿三");
        Thread t1=new Thread(ds1);
        t1.start();
        
    }
}

技术分享

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

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

Java线程:线程栈模型

标签:

原文地址:http://www.cnblogs.com/zhuangbiing/p/4912829.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!