Hola a todos!
Hoy me llegó el siguiente desafío.. A ver quien se anima a participar
Dada la siguiente clase ThreadRace, con las clases internas Runner y Walker ambas implementando la interface Runnable:
1) Indique lo que se imprime en consola al ejecutar (el método estático main).
2) Justificar
(http://www.belatrixsf.com/desafio_java/img/desafio01_a.png?utm_medium=email&utm_source=Act-On+Software&utm_content=email&utm_campaign=&utm_term=Desaf%5Cu00EDo%20Java)
Saludos!
ANTRAX
No comprendo muy bien hilos, pero al momento de correr el main me salio lo siguiente:
(http://i.imgur.com/2vrR5Fm.png)
Creo que tendría que estar cambiando entre boston marathon y new york marathon, no lo entiendo muy bien.
Si mal no supongo, al sincronizar los dos hilos se ejecutara el metodo del runner y despues se quedaran esperando a que el otro libere el recurso para utilizarlo, lo cual nunca lo hacen. ???
Saludos!
os lo respondo yo xD
vamos por pasos
- Se crean 2 hilos con sus correspondientes procesos que se ejecutan simultanemaente
- si no existiera el synchronized irian a la vez y mostrarian por pantalla una algo asi como "Runnnnnnnnerpassssingg tthrhro..." al intentar escribir por pantalla los 2 a la vez pero como lo usamos decimos el recurso al cual marcamos como ocupado para que solo un proceso pueda entrar
- Despues de una series de bucles e ir prorizando como no hay finally o notify en los synchronized no se liberan y por lo tanto el amiguete Walker llegara al final de su carrera pero no permitira que Runner acabe su ultimo procedimiento