启动线程方法start()和run()有什么区别
启动线程的方法start()和run()有以下区别:
1. run()方法是线程的主体,它是线程需要执行的方法,线程启动后会自动执行run()方法中的代码。run()方法通常包含线程的执行逻辑,可以通过重写run()方法来实现自定义逻辑。直接调用run()方法,会像普通方法一样在当前线程中顺序执行run()方法的内容,这并不会启动一个新的线程。
2. start()方法是线程的启动方法,它会启动一个新的线程,并在新的线程中调用run()方法。调用start()方法后,线程的状态变为可运行状态,JVM会自动创建一个新线程,并在新线程中执行run()方法,直到run()执行结束或者调用了stop()方法。因此,在Java多线程编程中,我们应该始终使用start()方法来启动新线程,而不是直接调用run()方法。
如有侵权请及时联系我们处理,转载请注明出处来自
推荐文章
科技快看 网站地图广州壹创集信息科技有限公司 版权所有 粤ICP备2021122624号