什么时候用Java thread.run()代替thread.start()?
4 回答

慕桂英3389331
TA贡献2036条经验 获得超8个赞
取自代码样式Java线程常见问题解答:
问:线程的start()和run()方法有什么区别?
答:Thread类中单独的start()和run()方法提供了两种创建线程程序的方法。start()方法开始执行新线程并调用run()方法。start()方法立即返回,并且新线程通常会继续运行,直到run()方法返回。
Thread类的run()方法不执行任何操作,因此子类应使用在第二个线程中执行的代码覆盖该方法。如果使用Runnable参数实例化Thread,则该线程的run()方法将在新线程中执行Runnable对象的run()方法。
根据线程程序的性质,直接调用Thread run()方法可以提供与通过start()方法进行调用相同的输出,但是在后一种情况下,代码实际上是在新线程中执行的。
添加回答
举报
0/150
提交
取消