🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.lenguajes.java
Article #25875

interrumpir llamada bloqueante a readLine()

#25875
From: Guillermo Rodriguez Garcia
Date: Mon, 01 Mar 1999 00:00
46 lines
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-mail

Show 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