La primera forma que veremos para crear clases concurrentes es extendiendo Thread

Deberemos sobrecargar el método run() en donde indicaremos lo que queremos hacer.

Vamos a escribir una clase que escriba 100 veces un mensaje, y cómo queremos que corra como un hilo, daremos las órdenes en el método run()Multitarea con tread

Notas:

Línea 3 – Debemos heredar de la clase Thread

Líneas 5 a 9 – Definimos una variable privada en donde podremos dejar un mensaje, y proporcionamos un método setter para cargarla

Líneas 12 a 21 – Establecen todo el flujo del programa; equivalen al método main que estábamos utilizando hasta ahora, y que era el que realizaba las funcionalidades del programa.

  • Se trata de un bucle para que escriba 100 veces un mensaje (línea 14), pero después de cada impresión, provocamos una parada de 1 segundo

A continuación escribimos una clase sencilla que instancie esta clase un par de veces, le cargue mensajes distintos y llame al método run()

Multitarea thread. La clase main

Notas:

Líneas 6 y 7 – Creamos dos instancias de la clase Mensaje

Líneas 9 y 10-Cargamos cada instancia con un mensaje distinto

Líneas 12 y 13- Damos orden de inicio de ejecución. Internamente, se llamara al método run()

A partir de ese momento, las dos instancias se ejecutaran a la vez, imprimiendo y esperando un segundo. Como la consola es un recurso único, las clases se alternaran a escribir en la misma. La alternancia no tiene que ser perfecta, porque quien va dando tiempo a cada hilo es el S.O., pero la salida será algo como esto:

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.