thread和runnable的区别是什么 并给我举个具体的例子便于我理解
时间: 2024-05-03 16:21:02 浏览: 19
Thread和Runnable都是Java中用于实现多线程的接口。Thread是一个类,而Runnable是一个接口。一个类只能继承一个类,但可以实现多个接口,因此使用Runnable可以更灵活地实现多线程。
一个线程可以通过继承Thread类或实现Runnable接口来创建。通过继承Thread,可以重写run()方法来定义线程的行为。例如:
```
public class MyThread extends Thread {
public void run() {
// 线程行为
}
}
```
通过实现Runnable接口,需要定义一个实现run()方法的类,并将其作为参数传递给Thread对象。例如:
```
public class MyRunnable implements Runnable {
public void run() {
// 线程行为
}
}
public class Main {
public static void main(String[] args) {
MyRunnable myRunnable = new MyRunnable();
Thread thread = new Thread(myRunnable);
thread.start();
}
}
```
可以看出,使用Runnable接口可以更灵活地实现多线程,并且同一个线程可以有多个任务(即多个Runnable对象)。因此,在实现多线程时,推荐使用Runnable接口。
相关推荐
![](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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)