Problema con Threads, Sockets e Interfaz

Hargrafe
03 de Junio del 2004
Hola.

Tengo una aplicación Cliente/Servidor realizada en
Java utilizando Sockets y Swing para la interfaz. Esta
aplicación sirve para poder descargarse una serie de
archivos del servidor... vamos, parecido a un FTP.

Por un lado tengo la interfaz, q mientras no estoy
conectado al servidor, trabaja muy bien y va muy
rápido...

Por otro lado, cuando se realiza la conexión creo un
hilo, utilizando una clase que hereda de Thread, y
desde ahí creo el Socket q se conecta con el
servidor. El problema está en que en cuanto se crea
el socket y empiezo a enviar o recibir información,
todo empieza a ir muy lento y consecuentemente, la
interfaz no se refresca y cosas así...

He estado dandole muchas vueltas y he probado
muchas cosas... Como dije antes, si solo está la
interfaz va muy rápido. Si realizo la conexión sin
utilizar la interfaz, también va muy
rápido. El rollo está en cuanto tengo los hilos de la
interfaz y el socket funcionando al mismo tiempo.

No sé si el problema está en las prioridades de los
hilos o en donde?....

Si alguien se ha encontrado con este problema
alguna vez o sabe como resolverlo, por favor, q me
ayude. Le estaré agradecido pq es importante.

Venga, un saludo y muchas gracias...

JDavid
03 de Junio del 2004
Hola. Verás yo estoy haciendo una aplicación que usa sockets. Todavía no la he probado. Pero he leido varios tutoriales y en uno de ellos comentaba que usando "canales", que se introdujeron a partir de la version 1.4, permite más rapidez al no tener que estar haciendo pulling. Estos están en la libreria java.nio. Sobre su utilización puedes consultar un tutorial sobre sockets que hay por aqui o por www.javahispano.org . En éste se explican sockets viendo un ejemplo de implementación de un chat. A partir de la mitad del tutorial empieza a explicar como se implementa con canales.
Espero haberte sido de ayuda. Suerte.