Article View: es.comp.lenguajes.java
Article #25875interrumpir llamada bloqueante a readLine()
From: Guillermo Rodriguez Garcia
Date: Mon, 01 Mar 1999 00:00
Date: Mon, 01 Mar 1999 00:00
46 lines
1632 bytes
1632 bytes
Buenas;
Tengo un thread en el que estoy leyendo datos de un socket utilizando
un stream de la clase BufferedReader y con la funci�n readLine(), algo
tal que as�:
try
{
while (conectado)
{
// llamada bloqueante
data = inputStream.readLine();
// procesar los datos
....
}
}
catch (Exception e)
{
System.err.println("Conexi�n perdida. Abortando...");
}
finally
{
inputStream.close();
outputStream.close();
socket.close();
}
Mi problema es que hay una situaci�n en la que estando el thread
bloqueado en la llamada a readLine() esperando nuevos datos necesito
sacarlo del bloqueo y matarlo, para lo cual he probado a hacer desde
el otro thread:
miThread.stop()
que seg�n la documentaci�n genera una evento 'throwable' de tipo
ThreadDeath, ejecuta el bloque finally y mata el thread, pero el
problema es que todo esto no lo hace hasta que no retorna del
readLine() y yo necesito interrumpir dicho readLine()
�Alguna idea?
Salu2: GUILLE
----
Guillermo Rodriguez Garcia
<XXguille@XXiies.XXes> (ya sabes :-)
Technical Details
Message-ID:
<36dabcb8.9941681@noticias.iies.es>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: 1116f3,4d0d5f32aca12cac,start X-Google-Attributes: gid1116f3,public From: XXguille@XXiies.XXes (Guillermo Rodriguez Garcia) Subject: interrumpir llamada bloqueante a readLine() Date: 1999/03/01 Message-ID: <36dabcb8.9941681@noticias.iies.es> X-Deja-AN: 450003330 Content-Transfer-Encoding: 8bit Organization: Telefonica Transmision de Datos Content-Type: text/plain; charset=ISO-8859-1 Mime-Version: 1.0 Newsgroups: es.comp.lenguajes.java