Está en la página 1de 5

Instrucciones actividad 7.

docx

1. Ejecutar netbeans
2. File – new Project – Java – Javaapplication – Actividad5(Ejercicio5)
3. Clic derecho en el programa – new – java package – actividad
4. Clic derecho en el paquete – new – Java Class– Ejercicio5
5. Agregaremos el siguiente código:

Explicación:
1. Implementamos de la interfaz Runnable para lanzar hilos
2. Obtendremos el número de procesadores mediante la clase Runtime
6. Programaremos el método run y crearemos y lanzaremos hilos:
Explicación:
1. Creamos la variable cont inicializada en 0
2. El método run multiplica la variable cont 10000 por la cantidad de procesadores de
nuestra PC (En el caso de la PC donde se está ejecutando es 40000)
3. Creamos los hilos mediante la clase Thread
4. Unimos los hilos con el método join()
5. Imprimimos el valor de cont, este jamás será 40000 debido a que se produce la
indeterminación

7. Eliminamos la indeterminación mediante el método synchronized y medimos el tiempo de


ejecución, agregamos el siguiente código:

Explicación:
1. Dentro del método run agregamos la sincronización
2. El método synchronized() permite que las variables sean recibidas de una en una de tal
manera que no pueden entrar dos hilos a la vez
3. El método requiere de un cerrojo mismo que es definido de la clase Object, debe ser de
tipo estático
4. Con la sincronización de hilos eliminamos el indeterminismo
5. Medimos el tiempo mediante la función nanoTime()
8. Mejoramos la eficiencia del programa mediante una variable que almacene las iteraciones
de cada hilo, agregamos el siguiente código:
Explicación:
1. Creamos una variable entera que permita almacenar el acumulativo de cada hilo
2. Dentro del for ejecutamos cada hilo y lo sincronizamos de tal manera que la variable
cont almacene el acumulativo de cada hilo y lo sume con el anterior
9. Divede la clase Ejercicio5 en dos clases: MetodoRun1 y MetodoRun2 en donde agregues
cada forma de sincronizacion como se ha mostrado, crea dos formularios como los que se
muestran:

10. El boton Lanzar hilos ejecutara los hilos que permitiran verificar el valor de contador
11. Los resultados deberan ser mostrados en las areas de texto y las cajas
12. Verificar que metodo tiene mejor rendimiento
13. Es importante destacar que Java no permite la herencia múltiple, por tal motivo para el
uso de hilos deberás implementar de la clase Runnable, apóyate en el siguiente link para
su documentación: https://javadesdecero.es/avanzado/hilos-multihilos-ejemplos/
14. Configura el botón de limpiar mismo que permita limpiar las áreas texto y las cajas
15. Posible resultado es:
16. Concluye con el paso 4 al 6 de la actividad correspondiente

También podría gustarte