zoukankan      html  css  js  c++  java
  • Java线程:线程栈模型

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

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

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

    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并行执行。

  • 相关阅读:
    SharePoint Framework 构建你的第一个web部件(二)
    win32
    win32
    win32
    win32
    C++ 将filesystem::path转换为const BYTE*
    win32
    win32
    win32
    win32
  • 原文地址:https://www.cnblogs.com/xjdoconline/p/4912829.html
Copyright © 2011-2022 走看看