Java中Thread和Runnable的区别
创建新的执行线程有两种方法。一种是声明一个类作为Thread类的子类。此子类应该覆盖Thread类的run方法。然后可以分配并启动子类的实例。
创建线程的另一种方法是声明一个实现Runnable接口的类。然后该类实现run方法。然后可以分配该类的实例,在创建Thread时将其作为参数传递,并启动它。
每个线程都有一个名称用于标识。多个线程可能具有相同的名称。如果创建线程时未指定名称,则会为其生成一个新名称。
| 序号 | 关键 | Thread | Runnable |
|---|---|---|---|
| 1 | 基础 | Thread是一个用于创建线程的类 | Runnable是一个用于创建线程的功能接口 |
| 2 | 方法 | 它有多个方法,包括start()和run() | 它只有一个抽象方法run() |
| 3 | 每个线程创建一个唯一的对象并与其关联 | 多个线程共享相同的对象。 | |
| 4 | 内存 | 需要更多内存 | 需要更少内存 |
| 5 | 限制 | Java不允许多重继承,因此在类扩展Thread类之后,它不能扩展任何其他类 | 如果一个类实现了Runnable接口,那么你的类可以扩展另一个类。 |
Runnable示例
class RunnableExample implements Runnable{
public void run(){
System.out.println("Thread is running for Runnable Implementation");
}
public static void main(String args[]){
RunnableExample runnable=new RunnableExample();
Thread t1 =new Thread(runnable);
t1.start();
}
}Thread示例
class ThreadExample extends Thread{
public void run(){
System.out.println("Thread is running");
}
public static void main(String args[]){
ThreadExample t1=new ThreadExample ();
t1.start();
}
}
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP