Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programacion de Hilos Estructura de Datos
Programacion de Hilos Estructura de Datos
Programacion de Hilos Estructura de Datos
Flujo nico: programa de flujo nico (single-Thread) utiliza un solo hilo para controlar su ejecucin. Por defecto, cualquier programa applet o aplicacin Java, tiene un hilo denominado principal (Thread).
Flujo mltiple: un programa de flujo mltiple o multitarea, utiliza varios contextos de ejecucin para realizar su trabajo. Cada tarea se inicia y termina tan pronto como sea posible, lo cual es una facilidad para la entrada de datos en sistemas en tiempo real, si estos son de diferentes fuentes.
La programacin basada en multihilos, permite escribir programas ms eficientes ya que optimizan los recursos de la Unidad Central de Proceso (CPU), al reducir al mnimo los tiempos de inactividad.
Al mostrarse un archivo o una imagen dentro de un navegador y acceder en seguida a una direccin electrnica o URL para una bsqueda, es un ejemplo de aplicacin multihilo.
El modelo multihilo est en el interprete de Java, ya que las bibliotecas de clases estn diseadas teniendo en mente este modelo. Los hilos forman parte de todos los programas en Java. Un hilo en un programa Java es un procedimiento que se puede ejecutar independiente del resto de una aplicacin.
de la animacin se detengan durante un tiempo, un segundo, sin hacer que se pare el resto del programa. Cuando un hilo se detiene o se bloquea, slo el se detiene y los dems continan con su ejecucin.
Nacido: Al momento de crear un hilo, se dice que est nacido, y contina en ese estado hasta que se invoca el mtodo start() del hilo. La siguiente sentencia crea un nuevo thread pero no lo arranca, por lo tanto deja el thread en el estado de nacido. Thread miHilo = new MiClaseThread();
2.
miHilo.start();
3. Ejecutable: cuando el mtodo start() se ejecuta, crea los recursos del sistema necesarios para ejecutar el thread, programa el thread para ejecutarse, y llama al mtodo run() del thread que se ejecuta en forma secuencial. En este punto el thread est en el estado ejecutable.
4.
En ejecucin: Un hilo en estado de listo de la ms alta prioridad, pasa al estado de ejecucin, cuando se le asignan los recursos de un procesador, o sea cuando inicia su ejecucin. Aqu el thread est en ejecucin.
5. No ejecutable : Un hilo sigue en su mtodo run(), hasta que pasa al estado de no ejecutable cuando ocurre alguno de los siguientes cuatro eventos: Se invoca a su mtodo sleep(). o su mtodo suspend(). El thread usa su mtodo wait() para esperar una condicin variable. El thread est bloqueado durante una solicitud de entrada/salida.
6.
Muerto: Un hilo pasa al estado de muerto cuando se termina su mtodo run(), o cuando se ha invocado su mtodo stop(). En algn momento el sistema dispondr entonces del hilo muerto. Un hilo puede morir de dos formas:
6.1 Muerte natural: se produce cuando su mtodo run() sale normalmente. Por ejemplo, el bucle while en este mtodo es un bucle que itera 100 veces y luego sale. Por tanto el hilo morir naturalmente cuando se llegue al final de la iteracin, es decir se termina su mtodo run().
6.2
muerte provocada: en cualquier momento llamando a su mtodo stop(). Cuando el thread actual se despierta, se lo mata con miHilo.stop(). El mtodo stop() lanza un objeto ThreadDeath hacia al hilo a eliminar. El thread moriri cuando reciba realmente la excepcin ThreadDeath.
7. Bloqueado: Es cuando el hilo realiza una solicitud de entrada/salida. Cuando termina la entrada/salida que estaba esperando, un hilo bloqueado queda en el estado listo.
La clase Thread
un thread es un hilo de ejecucin de un programa. La Maquina Virtual de Java (JVM) permite la ejecucin de concurrente de mltiples hilos. En la clase Thread se encapsula todo el control necesario sobre los hilos de ejecucin o tareas.