线程start和run的区别
线程的start方法和run方法主要有以下几点区别:
1. 调用的线程不一样:start方法是开启一个线程去执行,而run方法是调用的线程去执行,大多数情况是main。
2. 执行时机不同:run方法会立即执行,它是一个普通方法,可以被调用多次。而start方法则会由new状态转变成runnable就绪状态,获得时间片以后才能得到执行,它只能被调用一次,再次调用会报IllegalThreadStateException。
3. 线程生命周期:start方法和run方法的执行也会影响到线程的生命周期。start方法会开启线程,而run方法则只是在主线程中执行。
需要注意的是,如果在子类里面覆盖start方法,然后什么都不写,那么就不会调用父类Thread的start方法了,那么此时就不会去开启线程了。
如有侵权请及时联系我们处理,转载请注明出处来自
推荐文章
科技快看 网站地图广州壹创集信息科技有限公司 版权所有 粤ICP备2021122624号