java - 如果一个线程关闭流而另一个线程开始从流中读取,我得到 "Stream closed exception"。如何解决这个问题?

标签 java multithreading file filereader

我有一个文件。有时会发生一个线程已完成读取文件的情况。在他关闭阅读器的那一刻,另一个线程出现并尝试从与阅读器关联的同一流中读取。但后来我得到了一些

  stream already close exception.

我该如何解决此类问题。

喜欢

new BufferedReader(new InputStreamReader(in));

我如何为不同的线程创建单独的流。

最佳答案

不要从两个不同的线程读取同一个流。

每个线程都应该有自己的流,并且每个线程都在完成时关闭流。这允许每个线程在自己的线程中管理流。多个线程试图从同一个流中读取只是在自找麻烦。

关于java - 如果一个线程关闭流而另一个线程开始从流中读取,我得到 "Stream closed exception"。如何解决这个问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8271141/

相关文章:

java - 通过 UDP 套接字发送数据包

c# - 我的线程在就绪队列中吗?

python - 从文件读取后写回同一个文件

java - 用Java替换文件中的文本

java - kafka AdminClient API 等待节点分配超时

java - 增加 MAC OSX 10.12 中的 JVM 最大堆大小

multithreading - Rust 单线程持久 TCP 服务器

javascript - 将http流写入文件

具有 lambda 表达式的 Java 泛型对象

java - 为什么来自 main 方法的代码在 java 中的其他线程之前执行