Hilos o Threads!!!!!

Mari
31 de Mayo del 2002
Hola!!
Quisiese q alguien me explicase el uso de Threads, hilos.
Tambien de implements, extends y Runnable.
Gracias

Rocio Ruiz
31 de Mayo del 2002
Los hilos son una ventaja para la programaciòn orientada a objetos ya que estos pueden hacer multiples tareas al cargar y ejecutar una pagina.
Se usan para trabajar con varias tareas a la ves dentro de una misma pagina.
El implements es parte de la sintaxis dentro de la declaración de una clase y como su nombre lo dice sirve para implementar la clase declarada.
El extends es otra palabra reservada dentro de JBuilder donde estas diciendo que la clase declarada se deriva de otra clase.
El runnable es la clase que se encarga de ejecutar los hilos que se programen.

ebc
31 de Mayo del 2002
Los hilos (o threads) representan subprocesos de peso ligero, esto es, procesos que son capaces de ejecutarse concurrentemente y competir por el uso del procesador.

En Java hay dos maneras de trabajar con hilos: la más común es heredando de la clase Thread (public class miClase extends Thread{}). Mediante esto ya tenemos toda la funcionalidad que necesitamos para que los objetos que creemos de nuestra clase puedan ejecutarse cada uno en un hilo.
En nuestra clase, todo lo que queramos ejecutar concurrentemente, deberá ir incluido dentro del método run() (que también se hereda de Thread). Y también, tener en cuenta que para poner a funcionar un objeto en un hilo, deberemos llamar al método start() del objeto.

La otra forma de trabajar con hilos es implementando en interface Runnable (public class miClase implements Runnable{}).

Como verás el trabajo con hilos se puede conseguir de 2 formas, la diferencia es que esta segunda se ha creado para cuando nuestra clase ya heredaba de otra y, como en Java no está permitida la herencia múltiple, pues se buscó la solución del interface Runnable... per vamos, que eso ya es otra historia...

Abraham Lopez C
31 de Mayo del 2002
Pues ya hay algunas explicaciones... así que sólo haré como un resumen y un ejemplo de una animación:

Implementar la interfaz Runnable, que agrega el método run
Crear la instancia hilo clase Thread (static Thread hilo=null;)
Definir el método start (es decir crear e iniciar el hilo)
Definir stop, o sea cuando se para y destruye el hilo
Definir run

Lo siguiente es un ejemplo del uso de hilos, es un applet implementando una marquesina
Fue echo en Jbuilder3


package hilos;

import java.applet.Applet;
import java.awt.Component;
import java.awt.Dimension;
import javax.swing.JApplet;
import javax.swing.UIManager;

public class MarquesinaBarra extends JApplet
implements Runnable
{

public MarquesinaBarra()
{
isStandalone = false;
conta = 0;
hilo = null;
mensa = " Este es el mensaje que aparece ";
}

public void init()
{
try
{
jbInit();
}
catch(Exception e)
{
e.printStackTrace();
}
}

private void jbInit()
throws Exception
{
setSize(new Dimension(400, 300));
}

public String getAppletInfo()
{
return "Applet Information";
}

public String[][] getParameterInfo()
{
return null;
}

public void run()
{
do
{
showStatus(mensa.substring(conta));
conta++;
if(conta >= mensa.length())
conta = 0;
try
{
Thread.sleep(100L);
}
catch(Exception exception) { }
} while(true);
}

public void start()
{
if(hilo == null)
{
hilo = new Thread(this);
hilo.start();
}
}

public void stop()
{
if(hilo != null)
{
hilo.stop();
hilo = null;
}
}

boolean isStandalone;
int conta;
Thread hilo;
String mensa;

static
{
try
{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}
catch(Exception exception) { }
}
}