JavaThread run 和start的区别

442 阅读1分钟

#run方法: 如果该Thread是独立的Runnable运行对象构造的,则调用该Runnable对象的run方法。否则改方法不执行任何操作并返回. run方法只是一个普通的方法,Thread的子类应该重写改方法,程序中依然只有主线程一个线程.程序还是顺序执行。没有达到开新线程的目的。 #start方法: 用start方法来执行线程,实现真正的多线程运行,无需等待run方法的执行完毕直接执行下面的代码.通过调用Thread类的start()方法启动一个线程,这时线程处于可运行状态,但还没有真正的运行,一旦得到cpu时间片,就开始执行run方法,这里的run方法称为线程体,包含了整个线程需要执行的内容,一旦线程体执行完毕,线程运行结束,此线程随机终止 #总结: 调用start方法方可启动线程,而run方法只是thread的一个普通方法调用,还是在主线程里执行。