房山区文化活动中心有wifi吗长沙有实力seo优化
Thread 和 Runnable 接口的区别有四个:
- Thread 是一个类,Runnable 是接口,因为在 Java 语言里面的继承特性,接口可以支持多继承,而类只能单一继承。所以如果在已经存在继承关系的类里面要实现线程的话,只能实现 Runnable 接口。
- Runnable 表示一个线程的顶级接口,Thread 类其实是实现了 Runnable 这个接口,我们在使用的时候都需要实现 run 方法。
- 站在面向对象的思想来说,Runnable 相当于一个任务,而 Thread 才是真正处理的线程,所以我们只需要用 Runnable 去定义一个具体的任务,然后交给 Thread 去处理就可以了,这样达到了松耦合的设计目的。
- 接口表示一种规范或者标准,而实现类表示对这个规范或者标准的实现,所以站在线程的角度来说,Thread 才是真正意义上的线程实现。Runnable 表示线程要执行的任务,因此在线程池里面,提交一个任务传递的类型是Runnable。
所以,基于这四个点的原因,所以在实际应用中,建议实现 Runnable 接口实现线程的任务定义,然后使用 Thread 的 start 方法去启动启动线程并执行 Runnable 这个任务。
public class MyRunnable implements Runnable {@Overridepublic void run() {// 定义具体的任务逻辑System.out.println("Executing my task...");}
}public class Main {public static void main(String[] args) {// 创建Runnable实例Runnable myRunnable = new MyRunnable();// 创建Thread实例并将任务分配给线程Thread thread = new Thread(myRunnable);// 启动线程thread.start();}
}