Que
es un Thread (Hilo de Ejecución).
Un concepto fundamental en programación es la idea de manejar más de una
tarea a la vez. Muchos problemas de programación requieren que el programa
pueda detener lo que este haciendo, tratar con algún otro problema y regresar
al proceso principal.
Dentro de un programa, las partes que corren separadamente se llaman
hilos (Thread) y el concepto general se llama Multithreading.
Ordinariamente, los hilos son una manera de asignar el tiempo de un solo
procesador. Pero si el sistema operativo apoya procesadores múltiples, cada
hilo puede asignarse a
un procesador diferente y ellos pueden correr realmente en paralelo. Una de las características convenientes de Multithreading es que el programador no necesita preocupar sobre si existe uno o más procesadores. El programa es lógicamente dividido en hilos y si la maquina tiene mas de un procesador entonces el programa corre más rápidamente, sin necesidad de ajuste especial.
un procesador diferente y ellos pueden correr realmente en paralelo. Una de las características convenientes de Multithreading es que el programador no necesita preocupar sobre si existe uno o más procesadores. El programa es lógicamente dividido en hilos y si la maquina tiene mas de un procesador entonces el programa corre más rápidamente, sin necesidad de ajuste especial.
Que
es un proceso
Un proceso es un programa ejecutándose en forma independiente y con un
espacio propio de memoria. Un Sistema Operativo multitarea es capaz de ejecutar
mas de un proceso simultáneamente. Un Thread o hilo es un flujo secuencial
simple dentro de un proceso. Un único proceso puede tener varios hilos
ejecutándose. Por ejemplo, el programa Mozilla seria un proceso, mientras que
cada una de las ventanas que se pueden tener abiertas simultáneamente trayendo páginas
HTML estaría formada por al menos 1 hilo.
Un sistema multitarea da realmente la impresión de estar haciendo varias
cosas a la vez y eso es una gran ventaja para el usuario. Sin el uso de Threads
hay tareas que son prácticamente imposibles de ejecutar, particularmente las
que tienen tiempos de espera importantes entre etapas.
Los Threads o hilos de ejecución permiten organizar los recursos de la PC
de forma que pueda haber varios programas actuando en paralelo. Un hilo de
ejecución puede realizar cualquier tarea que pueda realizar un programa normal y corriente. Bastara con indicar lo
que tiene que hacer en el método run(), que es el que define la actividad
principal de las tareas.
Que
significa Multi-Threading
La Maquina Virtual Java (JVM) es un sistema multi-thread. Es decir, es capaz
de ejecutar varias secuencias de ejecución (programas) simultáneamente.
La programación multithreading (multi-hilo) permite la ocurrencia
simultánea de varios flujos de control. Cada uno de ellos puede programarse
independientemente y realizar un trabajo, distinto, idéntico o complementario,
a otros flujos paralelos.
Un procesador ejecuta las instrucciones secuencialmente una después de la
otra. A esta ejecución secuencial de instrucciones se le llama un Execution
Thread (Hilo de Ejecución).
Multithreading es cuando se están ejecutando varios threads
simultáneamente.
Si
un procesador ejecuta las instrucciones secuencialmente, una después de la otra
¿Cómo hace para ejecutar varios threads simultáneamente? No puede hacer, pero
puede simular que lo hace.
No hay comentarios:
Publicar un comentario