in

Creando un hilo en Java

Hay dos formas de crear un hilo:

  1. Extendiendo la clase Thread
  2. Implementando la interfaz Runnable.

Clase de hilo:

La clase Thread proporciona constructores y métodos para crear y realizar operaciones en un hilo. La clase Thread extiende la clase Object e implementa la interfaz Runnable.

Constructores de la clase Thread de uso común:

  • Hilo()
  • Hilo (nombre de la cadena)
  • Hilo (ejecutable r)
  • Thread (Runnable r, String name)

Métodos de uso común de la clase Thread:

  1. public void run (): se utiliza para realizar acciones para un hilo.
  2. inicio vacío público (): inicia la ejecución del hilo. JVM llama al método run () en el hilo.
  3. Sueño vacío público (milisegundos largos): Hace que el subproceso que se está ejecutando entre en suspensión (cese temporalmente la ejecución) durante el número especificado de milisegundos.
  4. unión vacía pública (): espera que muera un hilo.
  5. unión vacía pública (milisegundos largos): espera a que un hilo muera durante los milisegundos especificados.
  6. public int getPriority (): devuelve la prioridad del hilo.
  7. public int setPriority (prioridad int): cambia la prioridad del hilo.
  8. public String getName (): devuelve el nombre del hilo.
  9. setName public void (nombre de cadena): cambia el nombre del hilo.
  10. subproceso público currentThread (): devuelve la referencia del subproceso que se está ejecutando actualmente.
  11. public int getId (): devuelve el id del hilo.
  12. public Thread.State getState (): devuelve el estado del hilo.
  13. public boolean isAlive (): prueba si el hilo está vivo.
  14. rendimiento de vacío público (): hace que el objeto de subproceso actualmente en ejecución se detenga temporalmente y permita que se ejecuten otros subprocesos.
  15. suspensión pública void (): se utiliza para suspender el hilo (depricated).
  16. curriculum vitae vacío público (): se utiliza para reanudar el hilo suspendido (depricated).
  17. parada de vacío público (): se usa para detener el hilo (depricado).
  18. isDaemon () booleano público: prueba si el hilo es un hilo demonio.
  19. public void setDaemon (booleano b): marca el hilo como demonio o hilo de usuario.
  20. interrupción de vacío público (): interrumpe el hilo.
  21. public boolean isInterrupted (): comprueba si el hilo se ha interrumpido.
  22. public static boolean interrumpido (): comprueba si el hilo actual se ha interrumpido.

Interfaz ejecutable:

La interfaz Runnable debe ser implementada por cualquier clase cuyas instancias estén destinadas a ser ejecutadas por un hilo. La interfaz ejecutable tiene solo un método llamado run ().
  1. public void run (): se utiliza para realizar acciones para un hilo.

Comenzando un hilo:

método start () de la clase Thread se utiliza para iniciar un hilo recién creado. Realiza las siguientes tareas:
  • Comienza un nuevo hilo (con una nueva pila de llamadas).
  • El hilo pasa del estado Nuevo al estado Ejecutable.
  • Cuando el hilo tenga la oportunidad de ejecutarse, se ejecutará su método run () de destino.

1) Ejemplo de subproceso de Java mediante la extensión de la clase de subproceso

class Multi extiende Thread {public void run () {System.out.println («el hilo se está ejecutando …»); } public static void main (String args[]) {Multi t1 = nuevo Multi (); t1.start (); }}

Output:thread is running...

2) Ejemplo de subproceso de Java mediante la implementación de la interfaz Runnable

la clase Multi3 implementa Runnable {public void run () {System.out.println («el hilo se está ejecutando …»); } public static void main (String args[]) {Multi3 m1 = nuevo Multi3 (); Subproceso t1 = nuevo subproceso (m1); t1.start (); }}

Output:thread is running...
Si no está ampliando la clase Thread, su objeto de clase no se tratará como un objeto de hilo. Por lo tanto, debe crear explícitamente el objeto de clase Thread. Estamos pasando el objeto de su clase que implementa Runnable para que su método run () de clase puede ejecutar.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Salida de JavaScript

Formateador Java en línea