28-02-2012, 20:21
Cita:
|
Hola, estoy haciendo algo parecido y me surge una duda, ¿por qué en pantalla.class declara el metodo run y luego en el main se llama a p.start()? ¿no sería más logico llamar a p.run()?
|
Si llamas al método run() de la clase Thread de java, lo que harás será tener un hilo que se ejecuta secuencialmente, por lo tanto, el resultado final será una ejecución síncrona.
Llamando al método start() de esta misma clase, lo que haces es que el hilo se lance en paralelo, logrando por tanto una ejecución asíncrona.
En una clase que herede de Thread o implemente Runnable, sobreescribes el método run(), añadiendo la función que deseas ejecutar en paralelo. Al llamar a start(), éste ya se encarga de llamar a run(), para ejecutar esa función, por eso no es necesario sobreescribir start().
Cita:
|
Algun dia tendre que aprender algo de JAVA se ve todo tan limpio, que bonito.
|
Apréndelo, pero por favor, no lo utilices si no es por obligación :sss. Hoy en dia existen miles de tecnologías, mucho más potentes que java, mucho más rápidas, eficientes y fáciles de aprender, entender y mantener.
Si Java se utiliza para un nuevo proyecto, entonces se puede garantizar, casi con certeza, que los desarrolladores implicados en ese proyecto, que hayan aceptado hacerlo en java, son reacios a aprender un nuevo lenguaje, porque piensan que con java se puede hacer todo... y claro, ¿para qué aprender algo nuevo si con lo que ya sé, puedo hacerlo igual?. Créeme, "igual" no!!! El tiempo de desarrollo que inviertes picando código java, lo inviertes aprendiendo otras tecnologías, y lo que en java son 10 - 20 líneas, probablemente en esa otra tecnología sea 1 sola línea... y no te exagero, 1 linea tal cual...
Otros piensan que si hacen software libre en java, tendrá más adeptos porque casi el 90% de los programadores, saben java y esta es en realidad una buena razón para utilizar java... aunque muy triste.
En la mayoría de los casos, se sigue utilizando java porque simplemente es por necesidades del cliente... un producto fue en su dia desarrollado en java, y actualmente migrar a otra tecnología es más costoso que seguir dando mantenimiento en java, y probablemente este sea el problema de por qué se sigue utilizando hoy dia.
Un saludo.