Thread

Páginas: 17 (4198 palabras) Publicado: 3 de septiembre de 2013
¿Qué es un Thread?
Todos los programadores están familiarizados con la escritura de programas secuenciales.
Tú probablemente hayas escrito un programa que muestre "Hello World!", o que ordene una lista de nombres, o que calcule la lista de números primos. Estos son programas secuenciales: cada uno tiene un principio, una secuencia de ejecución y un final. En un momento dado durante laejecución del programa hay un sólo punto de ejecución.
Un Thread es similar a los programas secuenciales descritos arriba: un sólo thread también tiene un principio, un final, una secuencia, y en un momento dado durante el tiempo de ejecución del thread sólo hay un punto de ejecución. Sin embargo, un thread por si mismo no es un programa. No puede ejecutarse por sí mismo, pero si con un programa.Definición:
Un thread es un flujo secuencial de control dentro de un programa.
No hay nada nuevo en el concepto de un sólo thread. Pero el juego real alrededor de los threads no está sobre los threads secuenciales solitarios, sino sobre la posibilidad de que un solo programa ejecute varios threads a la vez y que realicen diferentes tareas.
El navegador HotJava es un ejemplo de una aplicaciónmulti-thread. Dentro del navegador HotJava puedes moverte por la página mientras bajas un applet o una imagen, se ejecuta una animación o escuchas un sonido, imprimes la página en segundo plano mientras descargas una nueva página, o ves cómo los tres algoritmos de ordenación alcanzan la meta.
Algunos textos utilizan el nombre proceso de poco peso en lugar de thread.
Un thread es similar a unproceso real en el que un thread y un programa en ejecución son un sólo flujo secuencial de control. Sin embargo, un thread se considera un proceso de poco peso porque se ejecuta dentro del contexto de un programa completo y se aprovecha de los recursos asignados por ese programa y del entorno de éste.
Como un flujo secuencial de control, un thread debe conseguir algunos de sus propios recursosdentro de un programa en ejecución. (Debe tener su propia pila de ejecución y contador de programa, por ejemplo). El código que se ejecuta dentro de un Thread trabaja sólo en éste contexto. Así, algunos texto utilizan el término contexto de ejecución como un sinónimo para los threads.
Un Sencillo Thread de Ejemplo
Este ejemplo define dos clases: SimpleThread y TwoThreadsTest. Empecemos nuestraexploración de la aplicación con la clase SimpleThread -- una subclase de la clase Thread, que es proporcionada por el paquete java.lang.
class SimpleThread extends Thread {
public SimpleThread(String str) {
super(str);
}
public void run() {
for (int i = 0; i < 10; i++) {
System.out.println(i + " " + getName());
try {sleep((int)(Math.random() * 1000));
} catch (InterruptedException e) {}
}
System.out.println("HECHO! " + getName());
}
}
El primer método de esta clase es un constructor que toma una cadena como su único argumento. Este constructor está implementado mediante una llamada al consturctor de la superclase y es intresante para nosotros sólo porque selecciona el nombredel Thread, que se usará más adelante en el programa.
El siguiente método es el método run(). Este método es el corazón de cualquier Thread y donde tiene lugar la acción del Thread. El método run() de la clase SimpleThread contiene un bucle for que itera diez veces. En cada iteración el método muestra el número de iteración y el nombre del Thread, luego espera durante un intervalo aleatorio dehasta 1 segundo. Después de haber temrinado el bucle, el método run() imprime "HECHO!" con el nombre del Thread.
La clase TwoThreads proporciona un método main() que crea dos threads SimpleThread: uno llamado "Jamaica" y otro llamadao "Fiji". (Si no quieres decidir donde ir de vacaciones puedes utilizar este programa para ayudarte a elegir -- ve a la isla cuyo threads imprima "HECHO!" primero)....
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • thread
  • Thread
  • Lemmon Thre
  • Thread Ejemplo
  • Three Times
  • Thread de libros
  • lemon three
  • Three towers

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS