Si buenas esa es mi pregunta, me gustaría saber cual es la diferencia entre esos dos es urgente,
De antemano Muchas gracias!
| |||
Cual es la diferencia que existe entre iniciar un hilo (start) y correrlo con run() Si buenas esa es mi pregunta, me gustaría saber cual es la diferencia entre esos dos es urgente, De antemano Muchas gracias! |
| |||
Respuesta: Cual es la diferencia que existe entre iniciar un hilo (start) y correrlo La cosa es que, me dijeron que porque el método run no es bueno sincronizarlo y pregunte donde estoy haciendo el curso y me dijeron que tenía que notar esa diferencia, eso que me dijisté lo entiendo, si hay 2 hilos y cada uno llama el método run, son instancias diferentes y cada uno ejecutará el método run, pero cual sería el problema si yo sincronizo el método run? |
| ||||
Respuesta: Cual es la diferencia que existe entre iniciar un hilo (start) y correrlo Hola, si lanzas el hilo llamando al mètodo run() el hilo no se ejecutarà de forma asincrònica, deberàs esperar a que este termine... No debes iniciar el hilo llamando a este método, debes iniciarlo con start()
__________________ Desarrolloador Freelance - http://www.mvdit.com.uy |
| |||
Respuesta: Cual es la diferencia que existe entre iniciar un hilo (start) y correrlo Como asi no te entendí eso ultimo, podrías mostrarme con un ejemplo, jaja si no es molestia!!! |
| ||||
Respuesta: Cual es la diferencia que existe entre iniciar un hilo (start) y correrlo prueba haciendo lo siguiente class hilo extends Thread{ public void run(){ Thread.sleep(10000); } } llama al hilo asì hilo myhilo= new hilo(); System.out.println("inicio"); myHilo.run(); System.out.println("fin"); prueba cuanto te demora en aparecer la palabra fin
__________________ Desarrolloador Freelance - http://www.mvdit.com.uy |
| |||
Respuesta: Cual es la diferencia que existe entre iniciar un hilo (start) y correrlo Ah no siiii eso te lo entiendo, pero eso tiene algo que ver con la sincronización? |
| ||||
Respuesta: Cual es la diferencia que existe entre iniciar un hilo (start) y correrlo tu preguntaste la diferencia entre ejecutar run y start, ahora la cosa cambia si por ejemplo creas 2 hilos desde la misma clase que implementa Runnable (no Thread) class MyRunnable implements Runnable { public synchronized void run() { codigo que te puse antes } } en el main llama a esto
Código Javascript:
Ver original
__________________ Desarrolloador Freelance - http://www.mvdit.com.uy |
| ||||
Respuesta: Cual es la diferencia que existe entre iniciar un hilo (start) y correrlo Primero: Thrad (que tambièn implementa Runnable) es una clase y Runnable es una interfaz (no tiene implementacion), si tu creas dos Threads (con new Thread(hilo)) y en su constructor le pasas una instancia de una clase que implemente Runnable, en memoria, le estàs pasando la misma direcciòn y con synchronized estàs obteniendo un bloqueo sobre ese recurso (el metodo run()), con una clase que extienda Thread eso es imposible, porque Thread es la representaciòn del hilo en sì, no puede ejecutarse 2 veces al mismo tiempo con la misma instancia, no tiene sentido que el metodo run estè sincronizado o no, es lo mismo, el bloqueo es innecesario... entiendes?
__________________ Desarrolloador Freelance - http://www.mvdit.com.uy |
| |||
Respuesta: Cual es la diferencia que existe entre iniciar un hilo (start) y correrlo Haber lo que entiendo es que al crear un hilo con la clase thread extendida, estoy creando 2 instancias dos hilos aparte, si implemento dos hilos con una interfaz runnable los dos llevan la misma dirección osea la misma interfaz, por tal motivo a la hora de hacer el synchornized en el método run() este pone en espera a cada hilo,,, lo que no pasa Con la clase Thread bueno creo estoy en lo correcto, ajaja estoy aprendiendo más acá que en el curso de hilos que estoy haciendo |
| ||||
Respuesta: Cual es la diferencia que existe entre iniciar un hilo (start) y correrlo Exacto! Me alegro que hayas entendido, la cosa con los hilos se pone bastante compleja cuando tienes muchos hilos, intenta no abusar de èstos, en realidad el uso de synchronized no es lo mejor, es mas elegante el uso de monitor para manejar el bloqueo de recursos limitados, pero eso lo dejamos para cuando entres en el tema...
__________________ Desarrolloador Freelance - http://www.mvdit.com.uy |
| |||
Respuesta: Cual es la diferencia que existe entre iniciar un hilo (start) y correrlo Muchas gracias por tu ayuda de verdad Dios te bendiga muchisimas gracias :) |
| ||||
Respuesta: Cual es la diferencia que existe entre iniciar un hilo (start) y correrlo de nada, un gusto haberte ayudado
__________________ Desarrolloador Freelance - http://www.mvdit.com.uy |
Etiquetas: |