这个类下面的方法不是void run()么,为什么要用.start()来调用呢???

来源:2-4 Java线程-隋唐演义实战开发---军队

牙膏牙膏牙膏

2018-05-23 22:44

这个类下面的方法不是void run()么,为什么要用.start()来调用呢???

写回答 关注

1回答

  • 慕斯卡3197864
    2018-05-24 14:25:52

    run()方法只是一个普通方法,调用run()的话就相当于一个普通方法调用,并没有实现多线程。

    而start()方法才是真正启动线程的方法。调用start()后,此线程处于就绪(可运行)状态,并没有运行,一旦得到cpu时间片,就开始执行run()方法,这里方法 run()称为线程体,它包含了要执行的这个线程的内容,run()方法运行结束,此线程随即终止。

深入浅出Java多线程

带你一起深入浅出多线程,掌握基础,展望进阶路线

186088 学习 · 464 问题

查看课程

相似问题