我的问题是关于扫描仪和BufferedReader类:例如当你这样做时:
Scanner scan=new Scanner(new BufferedReader(new FileReader("new.txt")));
这是否会使扫描实例利用事实BufferedReader
为thread-safe
。它是否是线程安全的,因为它是从线程安全缓冲区读取的?
我在某处读到这个新扫描仪具有bufferedReader的同步优势。
答案 0 :(得分:3)
我认为Java doc没有提到BufferReader是线程安全的,但是从这个链接is buffered reader thread safe? 有人读取源代码,它就是!
然而,这并不意味着Scanner是线程安全的。在java doc http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html中,它说
A Scanner is not safe for multithreaded use without external synchronization.