Java多线程编程总结笔记——三线程栈模型与线程的变量
2011-07-20 15:30
375 查看
要理解线程调度的原理,以及线程执行过程,必须理解线程栈模型。线程栈是指某时刻时内存中线程调度的栈信息,当前调用的方法总是位于栈顶。线程栈的内容是随着程序的运行动态变化的,因此研究线程栈必须选择一个运行的时刻(实际上指代码运行到什么地方)。
下面通过一个示例性的代码说明线程(调用)栈的变化过程
这幅图描述在代码执行到两个不同时刻1、2时候,虚拟机线程调用栈示意图。
当程序执行到t.start();时候,程序多出一个分支(增加了一个调用栈B),这样,栈A、栈B并行执行。
从这里就可以看出方法调用和线程启动的区别了。
下面通过一个示例性的代码说明线程(调用)栈的变化过程
这幅图描述在代码执行到两个不同时刻1、2时候,虚拟机线程调用栈示意图。
当程序执行到t.start();时候,程序多出一个分支(增加了一个调用栈B),这样,栈A、栈B并行执行。
从这里就可以看出方法调用和线程启动的区别了。
相关文章推荐
- Java多线程编程总结笔记——一多线程基础知识
- Java多线程编程总结笔记——六线程的同步与锁
- Java多线程总结笔记(二)—— 线程各状态及转换
- Java多线程--线程栈模型与线程的变量
- Java多线程编程总结笔记——一多线程基础知识
- Java多线程编程总结笔记——五线程状态的转换
- Java多线程编程之ThreadLocal线程范围内的共享变量
- Java多线程编程总结笔记——四创建与启动
- 【Java多线程编程核心技术】2.对象及变量的并发访问(下)-笔记总结
- Java多线程-(2)线程栈模型与线程的变量
- Java多线程编程总结笔记——01 Java语言的线程
- QT笔记:数据库总结(四)之SQL模型类-QSqlRelationalTableModel模型
- arm学习笔记一(arm概述及其基本编程模型)
- UNIX环境编程学习笔记(28)——多线程编程(三):线程的取消
- Java笔记1 Java编程基础<2>循环语句、函数(重载)、变量和数组的内存结构
- 基于Netty3的RPC架构笔记3之线程模型源码分析
- 线程栈模型与线程的变量
- 【C#编程基础学习笔记】6---变量的命名
- netty5笔记-线程模型1-Promise
- Java知识点总结篇:Java的内存模型、线程安全、进程和线程的区别