Java中Thread和Runnable的区别


创建新的执行线程有两种方法。一种是声明一个类作为Thread类的子类。此子类应该覆盖Thread类的run方法。然后可以分配并启动子类的实例。

创建线程的另一种方法是声明一个实现Runnable接口的类。然后该类实现run方法。然后可以分配该类的实例,在创建Thread时将其作为参数传递,并启动它。

每个线程都有一个名称用于标识。多个线程可能具有相同的名称。如果创建线程时未指定名称,则会为其生成一个新名称。

序号关键ThreadRunnable
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();
   }
}

更新于:2019年11月18日

27K+ 浏览量

启动你的职业生涯

完成课程获得认证

开始学习
广告