run方法和start方法区别
时间: 2023-04-12 16:01:35 浏览: 89
run方法和start方法都是线程启动的方法,但是它们的实现方式不同。start方法会创建一个新的线程并执行run方法,而run方法只是一个普通的方法,需要在已有的线程中调用。因此,如果直接调用run方法,它会在当前线程中执行,而不会创建新的线程。
相关问题
run方法和 start方法区别
在Java中,Thread类有两个方法:run()和start()。
run() 方法是线程的执行方法,可以在其中编写线程要执行的任务代码。当线程使用run()方法时,它会在当前线程中执行,而不会创建新的线程。这意味着,当一个线程对象调用run()方法时,它并不会在新的线程中运行,而是在当前线程中运行。因此,执行run()方法不会创建新的线程,而只是在当前线程中执行代码。
start() 方法是启动线程的方法。当一个线程对象调用start()方法时,它会创建一个新的线程,并在新的线程中执行run()方法中的代码。这意味着,执行start()方法会创建新的线程,并在新的线程中执行代码。
因此,run()方法只是一个普通的方法,它在当前线程中执行,而start()方法是创建新线程并执行run()方法的方法。
run方法和start方法作用
非常好的问题!在Java中,Thread(线程)类有两个非常重要的方法:run()和start()。
run()方法是线程启动后要执行的代码。它是一个被调用的标准方法,但只是一个普通的方法,在调用时不会启动一个新的线程来执行代码。在调用线程的run()方法时,它将在当前线程中直接运行。这样就不会启动新线程并按照想要的方式执行代码。
start()方法是启动线程的方法,它会创建一个新的线程,并自动调用线程中的run()方法。当线程启动并开始运行时,我们就可以说这个线程是“已启动”的。所以,如果我们调用start()方法,它将创建一个新的线程并启动它,这样我们就可以在该线程中执行代码。
值得注意的是,线程的start()方法只能被调用一次。如果我们尝试重新启动已经启动的线程,会抛出IllegalThreadStateException异常。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)