10.07.2015 Views

7. Hilos Objetivos Este capítulo cubre los siguientes aspectos, de los ...

7. Hilos Objetivos Este capítulo cubre los siguientes aspectos, de los ...

7. Hilos Objetivos Este capítulo cubre los siguientes aspectos, de los ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

esperando por recursos, o esperando por un cambio para ejecutarse, odormirse, o morir.En or<strong>de</strong>n para <strong>de</strong>mostrar una comprensión <strong>de</strong> hi<strong>los</strong>, usted necesita sercapaz <strong>de</strong> respon<strong>de</strong>r una pocas preguntas:• Cuándo un hilo se ejecuta, que código ejecuta este?• En que estados pue<strong>de</strong> estar un hilo?• Como cambia un hilo su estado? Las próximas secciones verá cada una<strong>de</strong> estas preguntas.Como se ejecuta un hiloPara hacer que un hilo se ejecute, usted <strong>de</strong>be llamar su método start(). <strong>Este</strong>registra el hilo con una pieaza <strong>de</strong>l código <strong>de</strong>l sistema llamada elprogramador <strong>de</strong> hi<strong>los</strong> (thread scheduler). El programador podría ser parte <strong>de</strong>la MVJ o ser parte <strong>de</strong>l sistema operativo . El programador <strong>de</strong>termina cualhilo esta actualmente corriendo en cada CPU disponible en cualquiermomento dado. Note que llamar el método start() no hace que el hilo corrainmediatamente; este solo hace que esté elegible para correr. El hilo podríaaun competir por un tiempo <strong>de</strong> CPU con todos <strong>los</strong> otros hi<strong>los</strong>.Si todo está bien, en algún momento el programador <strong>de</strong> hi<strong>los</strong> permitirá quesu hilo se ejecute. Durante su tiempo <strong>de</strong> vida, un hilo gasta algún tiempoejecutándose y otro en cualquiera <strong>de</strong> <strong>los</strong> diversos estados <strong>de</strong> no-ejecución .En esta sección, usted pue<strong>de</strong> ignorar (<strong>de</strong> momento) las preguntas <strong>de</strong> como elhilo cambie entre estados. La pregunta <strong>de</strong> hecho es: cuándo el hilo consigueejecutarse, que hace esta ejecución?La respuesta más simple es que este ejecuta un método llamado run(). Peroel método run() <strong>de</strong> cual objeto? Usted tiene dos elecciones:• El hilo pue<strong>de</strong> ejecutar su propio método run().• El hilo pue<strong>de</strong> ejecutar el método run() <strong>de</strong> algunos otros objetos.Si usted quiere que el hilo ejecute su propio método run(), usted necesitapara la subclase la clase Thread y darle a su subclase un run(). Por ejemplo1. public class CounterThread extends Thread {2. public void run() {3. for ( int i = 1; i

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!