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


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

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

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


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


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


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

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




 

相关文章:

  • 2022-01-20
  • 2022-01-24
  • 2021-11-01
  • 2021-10-10
  • 2021-10-04
  • 2021-06-03
  • 2021-11-05
  • 2021-10-10
猜你喜欢
  • 2021-11-04
  • 2022-01-06
  • 2021-07-12
  • 2021-12-16
  • 2021-10-28
  • 2021-12-18
  • 2022-02-12
相关资源
相似解决方案