阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第2节 线程实现方式_8_多线程原理_多线程内存图解...
2019-07-26 17:02
387 查看
原文链接:http://www.cnblogs.com/wangjunwei/p/11251521.html
调用mt.start方法和调用run方法是有区别的
main方法会压栈执行,(红线自己画的)
main方法内创建了MyThread对象,对象在堆内存中,堆内存有个地址例如:0x11
这里调用run方法,run方法也压栈
单线程:执行main线程,再执行run方法,
多线程是mt.start()方法,开辟新的栈空间,
如果再创建一个新的对象执行start方法,那么又会开辟一个新的栈空间去执行里面的run方法
现在有三个栈空间,cpu有选择的权利
转载于:https://www.cnblogs.com/wangjunwei/p/11251521.html
相关文章推荐
- 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第2节 线程实现方式_5_主线程...
- 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第1节 异常_7_try_catch_异常处理的第二种方式...
- 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第1节 异常_10_异常注意事项_多异常的捕获处理...
- 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第1节 异常_11_异常注意事项_finally有return语句...
- Java_基础—多线程(匿名内部类实现线程的两种方式和设置名字的方法)
- 阶段1 语言基础+高级_1-3-Java语言高级_03-常用API第二部分_第2节 Date类_1_毫秒值的概念和作用...
- 阶段1 语言基础+高级_1-3-Java语言高级_04-集合_10 斗地主案例(双列)_2_斗地主案例的代码实现...
- 阶段1 语言基础+高级_1-3-Java语言高级_02-继承与多态_第2节 抽象类_18-发红包案例_分析...
- 阶段1 语言基础+高级_1-3-Java语言高级_04-集合_05 List集合_2_Arraylist集合
- 阶段1 语言基础+高级_1-3-Java语言高级_03-常用API第二部分_第5节 StringBuilder类_1_StringBuilder的原理...
- 阶段1 语言基础+高级_1-3-Java语言高级_02-继承与多态_第2节 抽象类_14-抽象的概念...
- Java第七课 Java的多线程程序进程和线程的概念,实现多线程的两种方式,线程同步的原理,线程的死锁,运用wait和notify来实现producer - consumer关系,线程终止的两种情况。
- 阶段1 语言基础+高级_1-3-Java语言高级_04-集合_05 List集合_3_LinkedList集合
- JAVA基础再回首(二十四)——多线程的概述、实现方式、线程控制、生命周期、多线程程序练习、安全问题的解决
- java语言基础(88)——多线程(实现多线程的四种方式)
- java线程内存可见性-实现方式
- java多线程并发库高级应用 之 多个线程之间共享数据的方式探讨
- 阶段1 语言基础+高级_1-3-Java语言高级_1-常用API_1_第4节 ArrayList集合_17-ArrayList练习二_存储自定义...
- Java基础知识强化之网络编程笔记05:UDP之多线程实现聊天室案例
- java多线程 -- 创建线程的第三者方式 实现Callable接口