Un programa en ejecución es conocido como un proceso. El proceso se puede dividir en múltiples subprocesos. Por ejemplo, Microsoft Word es un proceso. Al mismo tiempo, comprueba el error ortográfico y la gramática. Eso es un subproceso. Estos subprocesos son conocidos como hilos. El subprocesamiento múltiple es el proceso de ejecución de varios subprocesos simultáneamente. Las aplicaciones roscadas se pueden construir utilizando diferentes lenguajes de programación. Runnable y Thread están asociados con la programación de Java. Hay dos métodos en Java para crear un hilo al implementar una interfaz Runnable o extender la clase Thread.. Al implementar Runnable, muchos subprocesos pueden compartir el mismo objeto de subproceso mientras que en la clase Extender Thread, cada subproceso tiene un objeto único asociado. Eso es el diferencia clave entre Runnable y Thread.
1. Resumen y diferencia clave
2. Que es Runnable
3. Que es hilo
4. Similitudes entre Runnable y Thread
5. Comparación lado a lado - Ejecutable vs Hilo en forma tabular
6. Resumen
Un hilo pasa por algunos estados. El "nuevo" es el comienzo del ciclo de vida del hilo. Después de que el método start () llama a un nuevo hilo, se convierte en ejecutable. Si el programador de subprocesos selecciona el subproceso, pasa al estado de ejecución. El subproceso está esperando el estado si ese subproceso está esperando que otro subproceso realice una tarea. Una vez que el hilo completa el trabajo, pasa al estado de terminación.
Un hilo puede ser implementado usando la interfaz Runnable. Consulte el siguiente programa.
Figura 01: Programa Java para crear un hilo usando la interfaz Runnable
De acuerdo con el programa anterior, la clase Demo ejecutable implementa la interfaz Ejecutable. El método run () está dentro de la clase que implementa la interfaz Runnable. Es el punto de entrada para el hilo. La lógica está en el método run (). En el programa principal, se crea un hilo definiendo un objeto que crea una instancia de la clase Demo ejecutable. Es t1. El método start () se llama usando t1.
Consulte el siguiente programa.
Figura 02: Programa Java para crear un hilo para ejecutar un bucle, implementando la interfaz Runnable
De acuerdo con el ejemplo anterior, la clase Runnable Demo implementa la interfaz Runnable. La lógica para ejecutar usando el hilo se escribe en el método run (). En el programa principal, se crea un hilo definiendo un objeto que crea una instancia de la clase Demo ejecutable. Es t1. Entonces, se llama al método start () usando t1.
El otro método para crear un hilo es extendiendo la clase Thread. Se compone de tres pasos. Lo primero es declarar que la clase extiende la clase Thread. Después, el método run () debe escribirse. Tiene la secuencia de pasos que el hilo debe ejecutar. Finalmente, se crea el objeto del hilo y se llama al método start () para iniciar la ejecución del hilo. Consulte el siguiente programa.
Figura 03: programa Java que extiende la clase Thread
De acuerdo con el programa anterior, la clase MyThread extiende la clase Thread. Anula el método de ejecución. El método run () contiene la lógica a ser ejecutada por el hilo. Es el punto de entrada al hilo. Entonces se crea el objeto de hilo. Es thread1. El hilo se inicia utilizando el método start (). Ejecutará una llamada al método run ()..
Un programa de ejemplo de dos clases que extienden la clase Thread es el siguiente.
Figura 04: programa Java con dos clases que extienden la clase Thread
De acuerdo con el programa anterior, tanto la clase A como la B están extendiendo la clase Thread. Ambas clases tienen su implementación del método run (). El hilo principal es el que ejecuta el método main (). Antes de que el hilo principal muera, crea e inicia thread1 y thread2. Cuando el hilo principal llegó al final del método principal, tres hilos se ejecutan en paralelo. No hay un orden específico en el que los hilos dan salida. Una vez que se inicia el hilo, es difícil decidir el orden en que se ejecutarán. Corren independientemente.
Ejecutable vs Hilo | |
Runnable es una interfaz en Java para crear un hilo que permite que muchos hilos compartan el mismo objeto de hilo.. | El hilo es una clase en Java para crear un hilo en el que cada hilo tiene un objeto único asociado a él.. |
Memoria | |
En Runnable, varios subprocesos comparten el mismo objeto, por lo que requieren menos memoria. | En la clase Thread, cada hilo crea un objeto único, por lo tanto, requiere más memoria. |
Habilidad de extensión | |
Después de implementar la interfaz Runnable, puede extender una clase. | Java no admite múltiples herencias. Después de extender la clase Thread, no puede extender ninguna otra clase.. |
Código de mantenimiento | |
La interfaz ejecutable hace que el código sea más fácil de mantener.. | En la clase Thread, el mantenimiento requiere mucho tiempo.. |
Un proceso se divide en varios subprocesos para realizar múltiples tareas al mismo tiempo. Estos subprocesos son conocidos como hilos. Se puede crear una instancia de un subproceso implementando la interfaz Runnable o extendiendo la clase Thread. Es fácil extender la clase Thread, pero no es una mejor práctica de programación orientada a objetos. Al implementar Runnable, muchos subprocesos pueden compartir el mismo objeto de subproceso, mientras que al extender la clase Thread, cada subproceso tiene un objeto único asociado. Esa es la diferencia entre Runnable y Thread. En la clase Thread, la creación de varios objetos puede consumir más memoria..
Puede descargar la versión en PDF de este artículo y usarla para fines fuera de línea, como se indica en la nota de cita. Por favor descargue la versión PDF aquí Diferencia entre Runnable y Thread
1.tutorialspoint.com. "Java multithreading". El punto, Disponible aquí
2.Pramodbablad. “Extiende Thread Vs Implements Runnable en Java”. Java Concept Of The Day, 11 de noviembre de 2016. Disponible aquí
3. Formas de crear un Thread en Java Multithreading | Core Java Tutorial | Studytonight. Disponible aquí