我希望我的程序获取一个文件,然后根据其字节内容创建 4 个文件。
仅使用主线程,我只需创建一个 DataInputStream
并按顺序执行操作。
现在,我有兴趣使我的程序并发。也许我可以有四个线程 - 每个线程用于创建一个文件。
我不想一次将文件的字节读入内存,因此我的线程需要不断查询 DataInputStream
以使用 read()
流式传输字节>.
我不清楚的是,我的 4 个线程应该在同一个 DataInputStream
上调用 read()
,还是每个线程都应该有自己单独的流来读取?
最佳答案
我认为这不是一个好主意。请参阅http://download.java.net/jdk7/archive/b123/docs/api/java/io/DataInputStream.html
DataInputStream is not necessarily safe for multithreaded access. Thread safety is optional and is the responsibility of users of methods in this class.
关于java - 多个线程是否应该从同一个 DataInputStream 读取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22340779/