首页 > 试题广场 >

Java中Thread对象的run⽅法与start⽅法有什么

[问答题]
Java中Thread对象的run⽅法与start⽅法有什么区别?
调用start方法时,会创建一个新的进程,并且会调用run方法,执行的代码是run方法中的代码,但是是在新创建的进程上运行的。如果直接使用run方法,那么run方法中的代码就是在原来的进程中运行。多数情况下直接调用run方法是一个错误,因为我们往往是想创建一个新的进程,这种错误往往可以通过fingbug等工具监测出来。如果直接调用run方法处理一个消耗时间比较多的任务,那么你的程序就会卡住。另外的一个区别是:同一个thread类的start不能重复调用(会报错,illegalstateexception),但是run可以。
发表于 2018-12-09 21:36:54 回复(0)