Un ordenador dispone de demasiada potencia para desaprovecharla haciendo un solo proceso. En muchas ocasiones, podremos lanzar procesos solapados, y habrá otras en que deberemos mantener más de un proceso trabajando en distintas áreas.
En este apartado, vamos a revisar cómo podemos lanzar varios trabajos a la vez y, si nos interesa, como podemos comunicarnos con ellos.
- Concepto de multitarea
- Aplicaciones multitarea con Thread
- Aplicaciones multitarea con Runnable
- Sincronización en el acceso a recursos (synchronized())
- Sincronización en el acceso a recursos (Monitores)
- Creación de aplicaciones multitarea con java.util.concurrent
- Ejercicio:
- Debemos realizar una clase GeneraNumero que va generando números aleatorios y otra clase PresentaNumero que recoge los números generados y los imprime.
- Luego haremos una clase para que lance los dos hilos, y deberemos verificar que no aparecen numero repetidos en la consola, lo que nos garantizara el correcto funcionamiento del programa
- Puede que tengáis que utilizar una clase Buffer para compartir la información entre las dos Thread
- Soluciones