run方法和start方法作用
时间: 2024-06-03 18:13:36 浏览: 11
在Java中,`run()`方法和`start()`方法都与多程有关。
`run()`方法是线程执行体,需要被重写,实现具体线程执行逻辑。当使用单线程,可以直接调用`run()`方法,让其在当前线程中执行。但是在多线程中,如果直接调用`run()`方法,则不会启动一个新的线程,而是在当前线程中执行该方法,因此不会体现出多线程的优势。
`start()`方法是启动一个新线程的方法,它会在JVM中启动一个新的线程,并且调用该线程的`run()`方法。因此,在多线程程序中,必须使用`start()`方法来启动新线程,才能体现出多线程的优势。
相关问题
run方法和start方法作用- CSDN搜索
run方法和start方法都是线程相关的方法,用于启动一个新的线程并执行其中的代码。start方法会在新线程中调用run方法。具体来说,start方法会创建一个新的线程,并将其中的代码放入该线程的调用栈中,然后启动该线程。而run方法则是新线程中实际执行的代码。在run方法中,可以编写需要在新线程中执行的代码逻辑。
run方法和 start方法区别
在Java中,Thread类有两个方法:run()和start()。
run() 方法是线程的执行方法,可以在其中编写线程要执行的任务代码。当线程使用run()方法时,它会在当前线程中执行,而不会创建新的线程。这意味着,当一个线程对象调用run()方法时,它并不会在新的线程中运行,而是在当前线程中运行。因此,执行run()方法不会创建新的线程,而只是在当前线程中执行代码。
start() 方法是启动线程的方法。当一个线程对象调用start()方法时,它会创建一个新的线程,并在新的线程中执行run()方法中的代码。这意味着,执行start()方法会创建新的线程,并在新的线程中执行代码。
因此,run()方法只是一个普通的方法,它在当前线程中执行,而start()方法是创建新线程并执行run()方法的方法。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![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)