Ejercicio 06.1
06.1.1. Cree una subclase de hilo que funcione como las subclases Hilo1 e Hilo2 del programa Hilos de esta unidad pero a la que se le manden en su constructor como parámetros el mensaje que debe escribir en la consola, el tiempo que debe estar funcionando y cada cuanto tiempo debe escribir el mensaje. Haga que su constructor escriba en la consola los parámetros con que se crea.
06.1.2. Escriba un programa que cree 10 hilos de los creados en 6.1.1 cuyos mensajes sean los dígitos 0, 1, 2, ...,9 y cuyos tiempos de duración sean aleatorios entre 0 y 16000 milisegundos y los tiempos de escritura del mensaje sean aleatorios entre 100 y 200. Haga que una vez creados todos los hilos, los arranque.
06.1.3. Haga que el programa implemente Runnable y que su método run escriba un espacio o un punto cada 20 milésimas de segundo en un bucle sin fin. Cree un hilo para arrancar este programa asegurándose sea un daemon para que deje de funcionar cuando todos los otros hilos hayan terminado.
06.1.4. ¿Cómo se puede predecir cual será el último dígito que escribirá el programa viendo los datos que escribe al arrancar? Envíe su respuesta y los archivos creados en este ejercicio a su tutor en un archivo eje06.1_minombre.zip.
Ejercicio 06.2
06.2.1. Observe que si detiene el movimiento en el ejemplo agujas de esta unidad y mueve la barra de desplazamiento del navegador de manera que el applet de las agujas se salga de la pantalla y luego lo vuelve a traer a la pantalla, verá que aparece vacío. Lo mismo ocurre si minimiza la ventana del navegador y la restaura. ¿Por qué ocurre esto?
06.2.2. Modifique la clase giraaguja para que el fenómeno descrito en 06.2.1 no ocurra, es decir, que aunque las agujas no están funcionando, al volver a poner el applet en la pantalla éstas aparezcan completas.
Ejercicio 06.3
06.3.1 Cree un applet que funcione como reloj analógico y digital. Haga que tenga un despliegue de agujas (tres agujas para horas, minutos y segundos) y uno digital que incluya la fecha. Es importante que la hora se vaya actualizando al menos cada segundo pero cuide que su reloj deje mucho tiempo libre al procesador para que pueda convivir con otros applets en la misma página.
06.3.2
Envíe los archivos creados en este ejercicio a su tutor en un archivo eje06.3_minombre.zip.