首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在java中从非同步方法调用synchronized时会发生什么情况?

在java中从非同步方法调用synchronized时会发生什么情况?
EN

Stack Overflow用户
提问于 2014-04-07 13:03:46
回答 1查看 296关注 0票数 1

我的问题是关于扫描器和BufferedReader类的:例如,当您这样做时:

代码语言:javascript
复制
Scanner scan=new Scanner(new BufferedReader(new FileReader("new.txt")));

这是否使扫描实例利用了BufferedReaderthread-safe这一事实。因为它是从线程安全的缓冲区读取的,所以它是线程安全的吗?

我在某处读到,这个新的扫描器将具有bufferedReader的同步优势。

EN

回答 1

Stack Overflow用户

发布于 2014-04-07 13:16:44

在我看来,Java doc并没有提到BufferReader是线程安全的,但是通过这个链接is buffered reader thread safe?,有人阅读了源代码,它就是安全的!

然而,这并不意味着Scanner是线程安全的。在java文档http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html中,它说

代码语言:javascript
复制
A Scanner is not safe for multithreaded use without external synchronization.
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22903973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档