evitar esperas al crear socket

pedrito
22 de Diciembre del 2005
Hola a todos:
Tengo una aplicacion de comunicaciones con interface grafica (botones, menus, paneles con animaciones, etc...).
Al crear una conexion por sockets con: Socket socket=new Socket(addr,portControl) la plicación queda a la espera del resultado de la conexión, deteniendose los paneles animados, y el interface grafico se me bloquea. Hace algún tiempo, vi en algun site que se puede crear un thread antes, y ejecutar la creacion del Socket socket=new Socket(addr,portControl) desde el, y volver al thread principal cuando la conexión se haya completado, y así no lo bloqueo.
He estado haciendo multitud de pruebas pero no consigo que funcione. ¿Alguien sabe como?? Gracias

Kaolong
22 de Diciembre del 2005
efectivamente debes crear una hebra a parte para las conexiones, en Java las ventanas son hebras, de hecho si haces un "debug" de tu aplicaion podras ver la cantidad de hebras que se ejecutan con un simple programa.

las hebras funcionan de manera independiente y pueden haber muchas de ellas, desde la clase prinicpal las llamas como a cualquier otra, es decir MiHebra miHebra = new MiHebra()

y listo la hebra parte, pero la clase MiHebra debe tener la siguiente estructura:

public class MiHebra extend Thread {
//atributos si los necesitas

public MiHebra(){
start();
}

public void run(){
//llamada a los metodos que necesites
}

//resto de la clase como si fuese normal

y eso es todo!!