问答详情
源自:2-4 Java线程-隋唐演义实战开发---军队

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

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

提问者:牙膏牙膏牙膏 2018-05-23 22:44

个回答

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

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

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