Avatar ·

En Java: implements Runnable vs extends Thread — ¿cuál elegir?

¡Hola a todos! Empecé a estudiar multithreading en Java y me confundí en un punto básico. Creamos hilos de dos maneras: ya sea heredando de la clase Thread o implementando la interfaz Runnable. Ambas parecen funcionar, pero no entiendo cuál es la diferencia fundamental y qué forma se considera correcta. Por ejemplo, escribí este código: ```java // Forma 1: extends Thread class MyThread extends Thread { public void run() { System.out.println("Hilo funcionando: " + Thread.currentThread().getName()); } } // Forma 2: implements Runnable class MyRunnable implements Runnable { public void run() { System.out.println("Hilo funcionando: " + Thread.currentThread().getName()); } } public class Main { public static void main(String[] args) { MyThread t1 = new MyThread(); t1.start(); Thread t2 = new Thread(new MyRunnable()); t2.start(); } } ``` Ambas opciones dan el mismo resultado. Pero he oído que implements