Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
&引用;“等待”;对于Java中的流_Java_Stream_Wait - Fatal编程技术网

&引用;“等待”;对于Java中的流

&引用;“等待”;对于Java中的流,java,stream,wait,Java,Stream,Wait,可能重复: 我在一条小溪里读书,它的源头可能会悬起来。如果未读取任何内容,我如何“等待”BufferedReader.readLine()返回字符串最多一段时间(比如五秒钟),然后继续程序?BufferedReader has ready()方法检查输入流是否有可读取的内容。您可以将其与计时器类或其他东西结合使用。需要注意的是,这是一个IO阻塞调用。因此,中断当前执行此语句的线程将完全没有效果 一种干净的方法是使用ExecutorService执行此调用,方法是将其包装在可调用的实现中。通过对

可能重复:


我在一条小溪里读书,它的源头可能会悬起来。如果未读取任何内容,我如何“等待”BufferedReader.readLine()返回字符串最多一段时间(比如五秒钟),然后继续程序?

BufferedReader has ready()方法检查输入流是否有可读取的内容。您可以将其与计时器类或其他东西结合使用。

需要注意的是,这是一个IO阻塞调用。因此,中断当前执行此语句的线程将完全没有效果

一种干净的方法是使用ExecutorService执行此调用,方法是将其包装在可调用的实现中。通过对返回的将来调用get(timeout)方法,您既可以手动控制超时,也可以优雅地处理中断


如果该线程被中断,您将需要关闭底层资源,以便调用本身将实际返回,并且不会泄漏线程。类似myInputStream.close()的内容。

您可以在此处查看:谢谢,这应该可以解决我的问题。