我的问题是关于扫描仪和 BufferedReader 类:例如,当您这样做时:
Scanner scan=new Scanner(new BufferedReader(new FileReader("new.txt")));
这是否使扫描实例利用了 BufferedReader
是线程安全
的事实。它是线程安全的,因为它是从线程安全缓冲区读取的吗?
我在某处读到这个新的扫描器将具有 bufferedReader 的同步优势。
最佳答案
在我看来,Java 文档没有提到 BufferReader 是线程安全的,但是从这个链接 is buffered reader thread safe? 有人阅读了源代码,确实如此!
但这并不意味着 Scanner 是线程安全的。在 Java 文档中 http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html , 它说
A Scanner is not safe for multithreaded use without external synchronization.
关于java - 当您从 Java 中的非同步方法调用同步方法时会发生什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22903973/