thread termino suma saber resueltos metodos hilos fuente ejemplos con como codigo clase java runnable

termino - En una explicación fácil de entender, ¿qué es Runnable en Java?



runnable java (2)

¿Qué es "ejecutable" en Java, en términos simples? Soy un estudiante de programación de AP en la escuela secundaria, cuya tarea es investigar, o buscar de otros lo que es "ejecutable" (recién estamos entrando en OOP, y aún no hemos tocado los hilos).


A Runnable es básicamente un tipo de clase (Runnable es una interfaz) que se puede poner en un hilo, que describe lo que se supone que debe hacer el hilo.

La interfaz Runnable requiere que la clase implemente el método run() manera:

public class MyRunnableTask implements Runnable { public void run() { // do stuff here } }

Y luego úsalo así:

Thread t = new Thread(new MyRunnableTask()); t.start();

Si no tenía la interfaz Runnable , la clase Thread, que es responsable de ejecutar sus cosas en el otro hilo, no tendría la promesa de encontrar un método run() en su clase, por lo que podría obtener errores. Es por eso que necesita implementar la interfaz.

Avanzado: tipo anónimo

Tenga en cuenta que no necesita definir una clase como siempre, puede hacer todo eso en línea:

Thread t = new Thread(new Runnable() { public void run() { // stuff here } }); t.start();

Esto es similar a lo anterior, solo que no crea otra clase con nombre.


Runnable es una interfaz definida así:

interface Runnable { public void run(); }

Para crear una clase que la use, solo defina la clase como clase (public) class MyRunnable implements Runnable {

Se puede usar sin siquiera crear un nuevo hilo. Básicamente es su interfaz básica con un solo método, ejecutar, que se puede llamar.

Si crea un nuevo Thread with runnable como su parámetro, llamará al método run en un nuevo Thread.

También debe tenerse en cuenta que Threads implementa Runnable , y que se llama cuando se realiza el nuevo Thread (en el nuevo hilo). La implementación predeterminada simplemente llama a cualquier Runnable que hayas entregado en el constructor, por lo que puedes hacer un new Thread(someRunnable) sin anular el método de run de Thread.