阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第2节 线程实现方式_8_多线程原理_多线程内存图解



调用mt.start方法和调用run方法是有区别的


main方法会压栈执行,(红线自己画的)

main方法内创建了MyThread对象,对象在堆内存中,堆内存有个地址例如:0x11

这里调用run方法,run方法也压栈


单线程:执行main线程,再执行run方法,


多线程是mt.start()方法,开辟新的栈空间,


如果再创建一个新的对象执行start方法,那么又会开辟一个新的栈空间去执行里面的run方法

现在有三个栈空间,cpu有选择的权利
 





 

原文地址:https://www.cnblogs.com/wangjunwei/p/11251521.html