线程start和run的区别
线程的start方法和run方法主要有以下几点区别:
1. 调用的线程不一样:start方法是开启一个线程去执行,而run方法是调用的线程去执行,大多数情况是main。
2. 执行时机不同:run方法会立即执行,它是一个普通方法,可以被调用多次。而start方法则会由new状态转变成runnable就绪状态,获得时间片以后才能得到执行,它只能被调用一次,再次调用会报IllegalThreadStateException。
3. 线程生命周期:start方法和run方法的执行也会影响到线程的生命周期。start方法会开启线程,而run方法则只是在主线程中执行。
需要注意的是,如果在子类里面覆盖start方法,然后什么都不写,那么就不会调用父类Thread的start方法了,那么此时就不会去开启线程了。

如有侵权请及时联系我们处理,转载请注明出处来自
随机推荐
科技快讯 |备案号:( 沪ICP备2026008940号-1 )