English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Diferencia entre hilo y ejecutable en Java

Hay dos métodos para crear nuevos hilos de ejecución. Uno es declarar una clase como subclase de la clase Thread. Esta subclase debe sobrescribir el método run de la clase Thread. Luego se puede asignar y iniciar una instancia de la subclase.

Otra manera de crear un hilo es declarar una clase que implemente la interfaz Runnable. Luego, esa clase implementa el método run. Luego se puede asignar una instancia de esa clase, pasándola como parámetro al crear Thread y lanzándolo.

Cada hilo tiene un nombre para su identificación. Puede haber más de un hilo con el mismo nombre. Si no se especifica un nombre al crear el hilo, se generará un nombre nuevo.

NúmeroClaveLiEjecutable
1
Básico 
Hilo es una clase. Se utiliza para crear hilos 
Runnable es una interfaz funcional utilizada para crear hilos 
2
Métodos
Tiene varios métodos, incluyendostart()yrun()
Tiene solo métodos abstractos run()
3
 Cada hilo crea un objeto único y se asocia con él
Múltiples hilos comparten el mismo objeto.
4
Memoria 
Más memoria requerida 
Menos memoria requerida 
5
Limitaciones 
Java no permite la sobrecarga de herencia, por lo que después de que una clase extiende la clase Thread, no puede extender otra clase.
Si una clase está implementando la interfaz Ejecutable, su clase puede extender otra clase.

Ejemplo Ejecutable

class RunnableExample implements Runnable{
   public void run(){
      System.out.println("El hilo está ejecutando para la Implementación de Runnable");
   }
   public static void main(String args[]){
      RunnableExample runnable=new RunnableExample();
      Thread t1 =new Thread(runnable);
      t1.start();
   }
}

Ejemplo de Hilo

class ThreadExample extends Thread{
   public void run(){
      System.out.println("Thread está ejecutando");
   }
   public static void main(String args[]){
      ThreadExample t1=new ThreadExample();
      t1.start();
   }
}