InputStream读取器阻塞线程

时间:2013-08-28 19:58:04

标签: java inputstream

我写了这个InputStream阅读器来听一个Socket。此代码位于线程的while(!stop)方法内的run循环中。此阅读器会阻止该线程,并且不会打印该消息。

int read = 0;
byte[] buf = new byte[512];
int index = 0;
try {
    while (!stop && (read = in.read()) != -1) {
        System.out.println("read loop");
        buf[index++] = (byte) read;
    }
} catch (IOException e) {
    e.printStackTrace();
}

1 个答案:

答案 0 :(得分:0)

如果没有数据可用,则读取确实会阻止线程运行。

你想要的是读取超时的字节吗?

Is it possible to read from a InputStream with a timeout?

中寻找答案