Sei sulla pagina 1di 7

PginaPrincipal

Acerca de

Contacto

Emoticones en comentarios!!!

Programacion

HTML5

Java

Linux

Celulares

Humor

Etiquetas: Java, Programacin

SUSCRIPCINALBLOG
Monillo007+
Agregameatucrculodeamigosen Google+

Hilos en Java(Threads) parte 3


Recordemos lo visto en la segunda parte de Hilos en Java: - Existen diversos tipos de constructores a partir de los cuales se puede crear un hilo, algunos delosmsimportantesson: + Thread() + Thread(objetoRunnable) + Thread(objetoRunnable, String nombre) + Thread(String nombre) - Unhilorecincreadoeinstanciadoseencuentraenestadonuevo (new), pasa a estado en ejecucin(runnable)cuandosellamaasumtodostart() y se considera muerto (dead) unavezquesecompletalocontenidoensumtodorun(). - Parallamaralmtodostart()senecesitaunainstancia de la clase Thread. - ElmtodoestticoThread.currentThread().getName() seutilizaparasaberquproceso seencuentraenejecucinenunmomentodeterminado. - Cuandosetratadehilos,muypocascosasestgarantizadas.Unadeellasesquecadahilo seiniciaryseejecutarhastaquesecompleteperonoenunordenespecficonisin interrupciones. - Solamentesepuedellamarunavezalmtodostart()deunhiloenparticular,delocontrario seobtieneunaexcepcindetipojava.lang.IllegalThreadStateException . Sigamos pues con los hilos en Java. Msinfotraselsalto...

Sgueme
Puedes seguir mis actualizaciones en Twitter

Facebook
Dale 'Me gusta' en Facebook

RSS del Sitio


Recibemisartculosentucorreoo lector de feeds favorito

ARTICULOS RECIENTES

RECIBE LOS NUEVOS ARTCULOSPOREMAIL


Enviar

ANNOENCUENTRAS LO QUE NECESITAS?


Buscar

TEMAS
Actualidad
El programador de hilos:: EnlamquinavirtualdeJavaexistealgoquellamamoselprogramador de hilos que es el encargadodedecidirquhiloeselquesevaaejecutarporelprocesadorenunmomento determinadoycundoesquedebedepararopausarsuejecucin.Asumiendoquesetiene un equipo de un solo procesador, solo un proceso puede estar corriendo en un momento dado, como lo hemos mencionado anteriormente, la idea de multi-proceso o multithreading es meramente aparente. Para que un hilo sea elegible para ser ejecutado, este debe de estar en estado en ejecucin(runnable),siseencuentraencualquierotroestadonopodrser elegible por el programador de hilos. Es importante tomar en cuenta que... "Elordenenqueunhiloenestadodeejecucinesescogidoporelprogramadordehilos no es garantizado".
Analisis Patrocinados Android Anecdotario Aplicaciones B a s e s d e d a t o s Bloggers / Webmasters Celulares Chrome Citas
Conciertos Crticas Comentarios X Curiosidades Cmolehagopara... eBooks

Elecciones 2012 email Empleo E n m i o p i n i n Entretenimiento Eventos Facebook Firefox Frases Gamers Ganar Dinero Gmail Google Google+
Hardware

HTML5

Humor Imgenes

Internet Invitaciones iPod iReport Java Linux Londres 2012 Manuales Mi blog Musica MySQL NetBeans No recomiendo... Noticias Ocio
Oracle

Pelculas

Poemas

Preguntas tontas

Programacin Quien es... Recursosdediseo


Redes Servicios Si recomiendo... Socialize Software Software Libre Solucindeproblemas

Generated with www.html-to-pdf.net

Page 1 / 7

Tonos para celular

Twitter Ubuntu

Videos Wallpapers

...aunque no podemos controlar al programador de hilos, en algunas ocasiones podemos influenciarlomandandoallamaralgunosmtodoscontenidosenlaclase java.lang.Thread.

Wave Websites Windows Youtube

LOMSVISITADO
Losmtodosdelaclasejava.lang.Thread:: Algunosmtodosdeestaclasenospuedenayudarainfluenciaralprogramadordehilosa tomarunadecisinsobrequhiloejecutarenqumomento.Losmtodossonlossiguientes: + public static void sleep(long milisegundos) throws InterruptedException + public static void yield() + public final void join() throws InterruptedException + public final void setPriority(int nuevaPrioridad) Nota:elmtodosleep() y join() tienen versiones sobrecargadas que no hemos mencionado. Algunosmtodosdelaclasejava.lang.Object:: Recordemos que toda clase en Java hereda de la clase Object, por lo tanto, cualquier objetodecualquiertipotienetodoslosmtodosdelaclaseObjectpordefecto.Enestecaso analizaremosalgunosdeellosquenossontilesenelmanejodehilos: + public final void wait() throws InterruptedException + public final void notify() + public final void notifyAll() Elmtodowait() define 3 versiones sobrecargadas, incluyendo la mencionada anteriormente. Antesdemencionarelcomportamientodelosmtodosanteriormentemencionados, analicemosalgunosestadosmsenlosqueunhilosepuedeencontrarysusrespectivas transiciones. Estados de los hilos y transiciones:: Ya hemos visto 3 estados de los hilos - nuevo,enejecucinymuerto- pero hay algunos otros bastante importantes. Analicemos cada uno de ellos: - Nuevo (new):Esteeselestadoenqueunhiloseencuentradespusdequeunobjetode laclaseThreadhasidoinstanciadoperoantesdequeelmtodostart() sea llamado. - Enejecucin(runnable): Este es el estado en que un hilo puede ser elegido para ser ejecutadoporelprogramadordehilosperoannoestcorriendoenelprocesador.Se obtieneesteestadoinmediatamentedespusdehacerlallamadaalmtodostart() de una instancia de la clase Thread. - Ejecutndose(running):Esteeselestadoenelqueelhiloestrealizandoloquedebede hacer,esdecir,estrealizandoeltrabajoparaelcualfuediseado. - Esperando/bloqueado/dormido (waiting/blocked/sleeping): Es el estado en el cual el hiloestvivoanperonoeselegibleparaserejecutado,esdecir,noestenejecucinpero puedeestarlonuevamentesialgneventoenparticularsucede.Porejemplo,unhilopuede estardurmiendoporqueenelcdigoselehapedidoquelohagaperopasaaestadoen ejecucincuandoeltiempoqueselepididormirhaexpirado. - Muerto (dead): Unhiloestmuertocuandosehancompletadotodoslosprocesosy operacionescontenidosenelmtodorun(). Una vez que un hilo ha muerto NO puede volver nuncaaestarvivo,recordemosquenoesposiblellamaralmtodostart()msdeunavez para un solo hilo.
2010 (3)

3 sencillos pasos para tramitar la ayuda por desempleo de la AFORE


TienesdineroahorradoentuAFOREyeneste momentonoeststrabajandooeststrabajando pero no tienes seguro social? Si respondiste ...

Conectar una base de datos en MySQL con NetBeans


NetBeans es una plataforma para el desarrollo de aplicaciones de escritorio usando Java y a un Entorno integrado de desarrollo (IDE) desarro...

4 extraordinarias aplicacionesespa para Android


Le andas haciendo al James Bond y necesitas grabar video, voz o tomar fotos desde tu dispositivo Androidsinsernotado?Aqu4excelentes...

Hilos en Java (Threads) parte 1


Para hablar de hilos en Java primeramente se necesita entender lo que es un hilo. Un hilo es un procesoqueseestejecutandoenunmom...

c606 c6nf5g4r6 e3 tec3ad6 [Como configurar el teclado]


Problemasalescribirconelteclado?Tratasde escribir la letra oysaleelnmero6o algo por el estilo?Lasolucinpuedeserm...

ARCHIVO DEL BLOG


2013 (10) 2012 (70) 2011 (50)

Prevenirlaejecucindeunhilo::

2009 (144)

Generated with www.html-to-pdf.net

Page 2 / 7

:Hilo Durmiendo (sleeping): Elmtodosleep()esunmtodoestticodelaclaseThread. Generalmente lo usamos en el cdigoparapausarunpocolaejecucindeunprocesoenparticularforzndoloadormir duranteuntiempodeterminado.Paraforzarunhiloadormirpodemosusaruncdigo parecido a lo siguiente: try{ Thread.sleep(5*60*1000); //Duerme durante 5 minutos }catch(InterruptedException ex){}

2008 (215) diciembre (14) noviembre (25) octubre (22) septiembre (5) agosto (14) julio (15) junio (9)

Normalmentecuandollamamosalmtodosleep()encerramoselcdigoenuntry/catch debidoaquedichomtodoarrojaunaexcepcin.

mayo (12) abril (32)

Elhechodequeunhilodejededormir,nosignificaquevolveraestarejecutndoseal momentodedespertar,eltiempoespecificadodentrodelmtodo sleep()eselmnimode tiempo que un hilo debe de dormir, aunque puede ser mayor. De igual manera se debe de tomarencuentaqueelmtodosleep()esesttico,esdecir,solohayunoparatodalaclase Thread,porlotanto,unhilonopuedeponeradormiraotro,elmtodosleep()siempre SIEMPRE afecta al hilo que se encuentra ejecutando al momento de hacer la llamada.

marzo (13) febrero (19) enero (35) Mi experiencia con Dell Habilidad Policiaca

:Prioridadesdehiloyelmtodoyield(): Paraentenderelmtodoyield(), debemos entender las prioridades de los hilos. Un hilo siempre corre con una prioridad, normalmente va de 1 a 10, debido a esto, el programador de hilosgeneralmenteutilizasuprogramacinbasadaenprioridades.Unhilodemenorprioridad queseencuentraejecutandousualmenteserdesplazadoalestadoenejecucinparaque un hilo de mayor prioridad pueda ejecutarse. De cualquier manera, nunca debes de basar el funcionamientodetuaplicacinbasadoenlasprioridadesdeloshilos. Para establecer la prioridad de un hilo debemos hacer algo parecido a lo siguiente: HiloRunnable h = new HiloRunnable(); Thread t = new Thread(h); t.setPriority(7); t.start();

Yotenaunlindocelular... Sitmeolvidas. Magia sorprendente! SobrecargademtodosenJava(Overloading) Aplicaciones y juegos Symbian S60 v3 Batman Vs Depredador Vs Alien Evitaservctimadeunfraude ElvideodeRenNezydeAlfredo Castellanos Ca... SobrescriturademtodosenJava(Overriding) Terminar Super Mario Bros en 5 minutos!

Algunasmquinasvirtualesnosoncapacesdereconocer10valoresdiferentesdeprioridad, loquecausaunproblemaalmomentodelaejecucin,debidoaello,laclaseThreadtiene3 constantes(variablesestticasyfinales)quedefinenunrangodeprioridadesdehilo: + Thread.MIN_PRIORITY (1) + Thread.NORM_PRIORITY (5) + Thread.MAX_PRIORITY (10) :Elmtodoyield(): Elmtodoyield()tienelafuncindehacerqueunhiloqueseestejecutandoderegresoal estado en ejecucin(runnable) para permitir que otros hilos de la misma prioridad puedan ejecutarse.Sinembargo,elfuncionamientodeestemtodo(aligualquedeloshilosen general)noestgarantizado,puedequedespusdequeseestablezcaunhilopormediodel mtodoyield() a s u e s t a d o e n ejecucin(runnable),stevuelvaaserelegidopara ejecutarse.Elmtodo y i e l d ( ) n u n c a c a u s a r q u e u n h i l o p a s e a e s t a d o d e espera/bloqueado/dormido, simplemente pasa de ejecutndose(running)a e n ejecucin (runnable). :Elmtodojoin():

Polimorfismo Encapsulamiento en Java Elpjaromslistodelmundo! Elperromsinteligentedelmundo... Convertir archivos de audio y video a diferentes f... Los tipos enumerados (enums) en Java Clases en Java parte 2 Clases e interfaces en Java La Miss Teen USA Carolina del Sur Soneto XXV LosgringosNOsonestpidos.Os??? Mensaje de Glenn Beck al presidente Felipe Caldero... Clases internas en Java(Inner/nested classes)

Elmtodonoestticojoin() permite al hilo "formarse en la cola de espera" de otro hilo. Si tienes un hilo B que no puede comenzar a ejecutarse hasta que se complete el proceso del hiloA,entoncesquerrsqueBseformeenlacoladeesperadeA.EstosignificaqueBnunca podrejecutarsesiAnocompletasuproceso.Encdigoseutilizaas:
Generated with www.html-to-pdf.net

2 Clases internas en Java(Inner/nested classes) Hilos en Java(Threads) parte 5

Page 3 / 7

Hilos en Java(Threads) parte 4

Thread t = new Thread(); t.start(); t.join(); Existeunaversinsobrecargadadejoin() que puede incluir el tiempo en milisegundos, por ejemplo si llamamos a t.join(5000), significa que el hilo que queremos ejecutar debe esperar aqueelhiloqueseestejecutandoenestemomentotermine,perositardamsde5 segundosentoncesdebedejardeesperaryentrarenestadodeejecucin(runnable).
VideodelnioquelloraporlosPumas Hilos en Java(Threads) parte 3 Los borrachos que dan risa... Video del Chacarron Sinaloense Al querer instalar Windows XP no se detecta el dis...

Hastaaquledejamosconlaterceraparte... MssobreprogramacinenJavaaqu.
Imprimir / Exportar a PDF Puedescompartirelartculocon:
Like 11 people like this. Sign Up to see what your friends like.

Hilos en Java(Threads) parte 2 Hilos en Java(Threads) parte 1 2007 (100)

LINKS
Segui @Monillo007 Ahora Mis Ojos Te Ven LinuxMan

Tweet

Annoencuentrasloquebuscas?ContinabuscandoenGoogle: Buscar

Loescribi Luis Navarro ~ 09 enero 2008 a las 17:54

15 comentarios:
Annimo 21 de octubre de 2008 00:12 jejeje shida la informacion me gusto y me aclaro la duda que tenia acerca de los estado del hilo... gracias

Annimo 1 de marzo de 2009 12:46 es un excelente explicacion sobre Thread, les agradezco.

Jgui 23 de abril de 2009 12:46 Muchasgracias,mehasayudadoasolucionarunbugquemeestabavolviendolocopormsdedos horas!!!

Eduardo 29 de enero de 2010 12:24 Muchasgraciasmeayudoaentendermssobreelmtodojoin() ^_^arigato

HMhmA 21 de febrero de 2010 19:39 muy buena info gracias

Ya'akov 22 de marzo de 2010 11:30 Conceptos claros y muy entendibles. Gracias por el post.

Generated with www.html-to-pdf.net

Page 4 / 7

Vitucho 19 de abril de 2010 14:52 Muy bien post amigo!

Annimo 5 de julio de 2010 05:38 Perocmosaquhiloestesperandoelquelecolocojoin()? SiquieroqueelhiloAespereaquefinaliceB,cmoloescribira?

Alex 11 de diciembre de 2010 21:57 Es una copia tel tema de Threads del libro SCJP6 de Mcgraw hill

Annimo 2 de febrero de 2011 10:40 Muchas gracias por la info, excelente blog

Annimo 30 de agosto de 2011 15:07 Hola quisiera que me ayudes!!! la verdad soy novata en java y pues no se como solucionar mi problemita!!! Mira estoy trabajando con formularios y quiero hacer una pausa a la hora de mostrar el resultado por medio de un thread Sleep(la sintaxis esta correcta), el detalle esta en que la pausa la hace antes de mostrar el resultado y no despues despues como yo quiero y la verdad no se en que consiste. Soy Mary, te envie un correo hace un rato espero que puedas ayudarme lo mas pronto posible, mil gracias private void jTxtNominaLaboralKeyReleased(java.awt.event.KeyEvent evt) { if (evt.getKeyCode() == 10) { //En esta parte valido que mi caja de texto no este vacia y que solo se introduscan numeros if ((jTxtNominaLaboral.getText().length() == 0) || (!isNumeric(jTxtNominaLaboral.getText()))) { JOptionPane.showMessageDialog(null,"Introducetunmerodenomina") jTxtNominaLaboral.setText(""); jTxtNominaLaboral.requestFocusInWindow(); } else { //Aqui estan algunas instrucciones try { //En esta linea me hace la pausa y qui no debe ser c.num_nomina = (Integer.parseInt(jTxtNominaLaboral.getText())); jTxtNominaLaboral.setText(""); jTxtNominaLaboral.requestFocusInWindow(); c.inserta_registro(); //Aqui en esta linea es donde quiero que se haga una pausa a la hora de mostrar el resultado en la caja de texto y despues que la limpie jTxterrorLaboral.setText(String.valueOf(c.persona)); try { Thread.sleep(2000); } catch (InterruptedException ie) { System.out.println(ie.getMessage()); } jTxterrorLaboral.setText(""); } catch (Exception ex) { ex.printStackTrace(); } } } }

No tengo ni la menor idea de como hacerle para que la pausa la haga despues, ya le movi ya le hice y deshice pero nada!!!!

Alberto 5 de septiembre de 2012 07:17 Muybuenhilo.Gracias.....Sihubieratenidounaescopetaamanomehubieracargadoalmalditopjaro, esbastantecoazo Un saludo

Generated with www.html-to-pdf.net

Page 5 / 7

JosCceres 14 de noviembre de 2012 21:29 Jajajaj totalmente de acuerdo con Alberto, ese pajarraco azul molesta y bastante, en fin, muchas gracias, heestadoleyendotusdemspostsacercadehilosymehanservidomucho.

Antonela 7 de febrero de 2013 19:16 Muchas gracias! Fue de mucha ayuda

Jav 26 de octubre de 2013 18:05 MUY BIEN EXPLICADO... MUCHAS GRACIAS, ME SACASTE DE MUCHAS DUDAS... EXITO!

Publicar un comentario
Este es un espacio abierto, puedes escribir lo que gustes respetando los siguientes puntos: 1.- Loqueescribasestrelacionado con el post, si gustas contactarme puedes hacerlo aqui. 2.- Todo es cuestionable, aunque ten en cuenta que existen formas de hacerlo, evita las agresiones y revisa tu lenguaje antes de publicar un comentario. 3.- Siempre hay tres verdades: tu verdad, mi verdad y la verdad, por lo que opiniones diferentes no necesariamente son equivocadas. 4.- Loscomentariossonunaformadediscusinabierta,porloquealpublicaruno,implcitamente entrasaunadiscusin,contodoloqueestorepresenta. 5. Me reservo el derecho de eliminar comentarios que no respeten las condiciones mencionadas anteriormente. Toma en cuenta que puedes utilizar emoticones en tu comentario, para ver una lista de los disponibles da clic en este enlace.

Entradamsreciente
Suscribirse a: Comentarios de la entrada (Atom)

Entrada antigua

Generated with www.html-to-pdf.net

Page 6 / 7

ENTRADAS
El contenido de este blog se rige bajo la licencia de AtribucinCreativeCommons2.5 Puedes copiar, distribuir, modificar y compartir pblicamentelosartculosdeesteblog, siempreycuandohagasmencinalafuente (osea nosotros) y pongas un enlace completo al post original.

ESTADSTICAS

Monillo007 2010 | Designed by Trucks, Manual Bookmarking | Elegant Themes

Generated with www.html-to-pdf.net

Page 7 / 7

Potrebbero piacerti anche