首页 / JAVA / java-缓冲读取器线程安全吗?
java-缓冲读取器线程安全吗?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-缓冲读取器线程安全吗?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2042字,纯文字阅读大概需要3分钟。
内容图文
![java-缓冲读取器线程安全吗?](/upload/InfoBanner/zyjiaocheng/693/6b60f45261f54671ae457ab30fc233dd.jpg)
有什么办法可以让我获得线程安全的缓冲读取器.我在运行此代码时获得了以下信息#
Threadid=28 ObjectReference=de.factfinder.resource.Resource@1b7aeb4
Threadid=28 ObjectReference=java.io.InputStream@3d6fb9
Threadid=28 ObjectReference=java.io.InputStreamReader@171e0f6
Threadid=28 ObjectReference=java.io.BufferedReader@1684179
28 started Reading
Threadid=28 ObjectReference=de.factfinder.resource.Resource@1b7aeb4
Threadid=28 ObjectReference=java.io.InputStream@3d6fb9
Threadid=28 ObjectReference=java.io.InputStreamReader@171e0f6
Threadid=28 ObjectReference=java.io.BufferedReader@1684179
28 finished Reading
Threadid=38 ObjectReference=de.factfinder.resource.Resource@1bebf14
Threadid=38 ObjectReference=java.io.InputStream@3d6fb9
Threadid=38 ObjectReference=java.io.InputStreamReader@171e0f6
Threadid=38 ObjectReference=java.io.BufferedReader@1684179
38 started Reading
Threadid=38 ObjectReference=de.factfinder.resource.Resource@1bebf14
Threadid=38 ObjectReference=java.io.InputStream@3d6fb9
Threadid=38 ObjectReference=java.io.InputStreamReader@171e0f6
Threadid=38 ObjectReference=java.io.BufferedReader@1684179
38 finished Reading
缓冲的reader,InputStreamReader和InputStream的哈希码保持不变.
解决方法:
Is
BufferedReader
thread safe?
javadoc没有声明BufferedReader是线程安全的,但是当我查看源代码时,我看到read方法使用sync和一个内部锁对象. (您可以在http://www.docjar.com/html/api/java/io/BufferedReader.java.html上自行检查)
因此,答案是(可能)是,尽管它可能取决于您所使用的Java的实现和版本.
但是,还有两件事要考虑:
> BufferedReader是Reader的包装器,通常是其他类的包装器.如果其他线程使用同一“ I / O堆栈”的某些部分,则BufferedReader是线程安全的事实是不够的.
>如果您有两个线程都试图从同一个BufferedReader中读取数据,则可能由于线程不协调而陷入困境.尽管各个读取操作的行为是原子的,但操作序列却没有.
简而言之,线程安全性不足以确保多线程应用程序中不会出现问题.
The hash codes for
BufferedReader
,InputStreamReader
andInputStream
remains same. Why?
3个新对象具有与3个先前创建的对象相同的身份哈希码的可能性非常小,因此我只能假设每次创建新实例的假设/断言实际上都是错误的.
内容总结
以上是互联网集市为您收集整理的java-缓冲读取器线程安全吗?全部内容,希望文章能够帮你解决java-缓冲读取器线程安全吗?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。