Java中的线程与可运行的区别

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

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

每个线程都有一个名称供识别。一个以上的线程可能具有相同的名称。如果在创建线程时未指定名称,则会为其生成一个新名称。

序号线可运行
1
基本的 
线程是一个类。用于创建线程 
Runnable是一个功能接口,用于创建线程 
2
方法
它有多种方法,包括start()run()
它只有抽象方法 run()
3
 每个线程创建一个唯一的对象并与之关联
多个线程共享相同的对象。
4
记忆 
需要更多内存 
所需的内存更少 
5
局限性 
Java中不允许多重继承,因此在一个类扩展Thread类之后,它不能扩展任何其他类
如果一个类正在实现可运行的接口,则您的类可以扩展另一个类。

可运行示例

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();
   }
}

线程示例

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();
   }
}