多线程原理及方法,Thread与Runnable有何本质区别?

2026-05-23 22:540阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1442个文字,预计阅读时间需要6分钟。

多线程原理及方法,Thread与Runnable有何本质区别?

多线程原理+随机性打印+CPU有了两条执行路径,CPU就有了选择,一会执行main方法,一会执行run方法。也可以说两个线程,一个main线程+一个run线程,一起请求CPU的执行权(执行时间)。

多线程原理

随机性打印

CPU有了两条执行的路径,CPU就有了选择 ,一会执行main方法 一会执行run方法。 也可以说两个线程,一个main线程 一个run线程 一起请求CPU的执行权(执行时间)谁抢到了就执行对应的代码

多线程原理及方法,Thread与Runnable有何本质区别?

多线程内存图解

  • main方法的第一步创建对象,创建对象开辟堆内存存储在堆内存中(地址值赋值给变量名0x11)
  • mt.**run()**调用时 run方法被压栈进来 其实是一个单线程的程序(main线程,会先执行完run方法再执行主线程中的去其他方法)
  • mt.**start()**调用时会开辟一个新的栈空间。执行run方法(run方法就不是在main线程执行,而是在新的栈空间执行,如果再start会再开辟一个栈空间再多一个线程)
  • 对cpu而言,cpu就有了选择的权利 可以执行main方法、也可以执行两个run方法。 多线程好处:多线程执行时,在栈内存中,其实每一个执行线程都有一片自己所属的栈内存空间,多个线程互不影响 进行方法的压栈和弹栈。

    阅读全文

    本文共计1442个文字,预计阅读时间需要6分钟。

    多线程原理及方法,Thread与Runnable有何本质区别?

    多线程原理+随机性打印+CPU有了两条执行路径,CPU就有了选择,一会执行main方法,一会执行run方法。也可以说两个线程,一个main线程+一个run线程,一起请求CPU的执行权(执行时间)。

    多线程原理

    随机性打印

    CPU有了两条执行的路径,CPU就有了选择 ,一会执行main方法 一会执行run方法。 也可以说两个线程,一个main线程 一个run线程 一起请求CPU的执行权(执行时间)谁抢到了就执行对应的代码

    多线程原理及方法,Thread与Runnable有何本质区别?

    多线程内存图解

  • main方法的第一步创建对象,创建对象开辟堆内存存储在堆内存中(地址值赋值给变量名0x11)
  • mt.**run()**调用时 run方法被压栈进来 其实是一个单线程的程序(main线程,会先执行完run方法再执行主线程中的去其他方法)
  • mt.**start()**调用时会开辟一个新的栈空间。执行run方法(run方法就不是在main线程执行,而是在新的栈空间执行,如果再start会再开辟一个栈空间再多一个线程)
  • 对cpu而言,cpu就有了选择的权利 可以执行main方法、也可以执行两个run方法。 多线程好处:多线程执行时,在栈内存中,其实每一个执行线程都有一片自己所属的栈内存空间,多个线程互不影响 进行方法的压栈和弹栈。

    阅读全文