ESPAÑOL: ¡Bienvenido! Es la página inicial de OSIRIS LMS. Regístrese hoy mismo y obtenga acceso a todos nuestros CURSOS GRATUITOS. Clic aquí para registrarse ya. Hemos desarrollado una amplia gamma de cursos “online” (Programación, Multimedia, 3D, Habilidades suaves, etc.), disponibles 24X7. Para más detalle consulte la lista de Cursos Disponibles. Si tiene problemas con el acceso a la plataforma, vea el Tour Virtual de Osiris LMS. También puede consultar la sección de FAQ’s o enviar Solicitud de Soporte Técnico.

ForoForo de discusión
Los Threads en Java
Buscador:
Foro > JAVA > Los Threads en Java

Enviado por: Texto del mensaje
Armando Morales
Nivel : Profesor
Mensajes : 26
> Perfil
Escrito el : Sábado 02-09-2006 A las : 03:28 ( > un mes )
Asunto : Los Threads en Java
La Máquina Virtual de Java (JVM) es un sistema multithread. Es decir, es capaz de ejecutar varios procesos simultáneamente. La JVM maneja todos los aspectos, asignación de tiempos de ejecución, prioridades, etc, de forma similar a como administra un Sistema Operativo múltiples procesos. La diferencia básica entre un proceso de Sistema Operativo y un Thread Java es que los Threads corren dentro de la JVM, que es un proceso del Sistema Operativo y por tanto comparten todos los recursos, incluyendo la memoria y las variables y objetos allí definidos.

Los threads en las aplicaciones son muy útiles, ya que permiten que el flujo del programa sea divido en dos o más partes, cada una ocupándose de alguna tarea. Por ejemplo todos los programas con interfase gráfica (AWT) son multithread, porque los eventos y el despliegue de las ventanas se ejecutan en threads distintos.

La forma más sencilla para hacer un programa multithread es extendiendo la clase Thread y redefinir su método run(). Este método es invocado cuando se inicia el thread (mediante una llamada al método start() de la clase Thread). El thread se inicia con la llamada al método run() y termina cuando termina éste. Por ejemplo:

public class EjemploThread extends Thread {
public EjemploThread(String str) {
super(str);
}
public void run() {
for (int i = 0; i < 10 ; i++)
System.out.println(i + " " + getName());
System.out.println("Termina " + getName());
}
public static void main (String [] args) {
new EjemploThread("Thread 1").start();
new EjemploThread("Thread 2").start();
}
}


Nota: Traten de ejecutar varias veces el programa, verán que no siempre se ejecuta igual.
Profesor de Java
Osiris LMS
Amplía tus conocimientos en línea
 
 
Max 
Nivel : Estudiante
Avatar
Mensajes : 1
> Perfil
Escrito el : Jueves 02-11-2006 A las : 00:39 ( > un mes )
Asunto : Aumenten las ejecuciones del ciclo
Este es un tema que me parece interesantisimo, y tal vez algunos no vean diferencia en el resultado aún corriéndolo varias veces, como me ocurría a mí, solo tienen que aumentar el ciclo a por ejemplo 50 veces. Saludos.
 
 
Clayder Gonzalez
Nivel : Estudiante
Avatar
Mensajes : 20
> Perfil
Escrito el : Domingo 14-01-2007 A las : 17:26 ( > un mes )
Asunto : Como funcionan los Threads???
En el ejemplo que se muestra se ejecutan dos threads. Lo que quiero saber saber es como funcinan estos; es decir, ¿el thread2 espera a que el thread1 termine para que empieze su ejecucion?, al ver el resultado veo que no es asi, entonces ¿como funcionan?, y ¿como haria para poder hacer que el thread2 no empieze hasta que el thread1 haya terminado?

Les agradesco su respuesta.

Saludos.
Clayder Gonzalez.
 
 
Armando Morales
Nivel : Profesor
Mensajes : 26
> Perfil
Escrito el : Lunes 15-01-2007 A las : 16:54 ( > un mes )
Asunto : Re: Como funcionan los Threads???
Hola Clayder,

En realidad los Threads son procesos que se ejecutan simultáneamente. Para controlar el flujo de ejecución, esta clase cuenta con métodos como: sleep(), interrupt(), start(), destroy(), etc.

Saludos
Profesor de Java
Osiris LMS
Amplía tus conocimientos en línea