猿问
什么时候调用Java的thread.run()而不是thread.start()?
什么时候用Java
thread.run()
代替
thread.start()
?
jeck猫
浏览 752
回答 4
4回答
Qyouu
您可能要在特定于功能且与并发无关的特定单元测试中调用run()。
0
0
0
慕慕森
决不。就像正常方法调用一样,直接调用run()只是同步(在同一线程中)执行代码。
0
0
0
慕桂英3389331
取自代码样式Java线程常见问题解答:问:线程的start()和run()方法有什么区别?答:Thread类中单独的start()和run()方法提供了两种创建线程程序的方法。start()方法开始执行新线程并调用run()方法。start()方法立即返回,并且新线程通常会继续运行,直到run()方法返回。Thread类的run()方法不执行任何操作,因此子类应使用在第二个线程中执行的代码覆盖该方法。如果使用Runnable参数实例化Thread,则该线程的run()方法将在新线程中执行Runnable对象的run()方法。根据线程程序的性质,直接调用Thread run()方法可以提供与通过start()方法进行调用相同的输出,但是在后一种情况下,代码实际上是在新线程中执行的。
0
0
0
随时随地看视频
慕课网APP
相关分类
Java
我要回答