我有一个简单的ArrayList
,我通过Java并发性从多个Thread
s中提供此ArrayList
。每个Thread
将仅读取此ArrayList
的相同实例。阅读过程中是否有错误发生?在并行系统中读取ArrayList
4
A
回答
5
只要没有更多的写入使它不可改变使用Collections.unmodifiableList
,然后忘记读取的问题。
5
如果列表完全填充并始终以所有线程的只读方式访问,则不会有问题。如果有写入操作,则需要将所有访问同步到列表中,或使用并发列表(如CopyOnWriteArrayList
)。
+0
非常感谢。 –
相关问题
- 1. 如何进行系统调用并读取D中的stdout?
- 2. 读取文件系统并返回它
- 3. 保存并读取arraylist的arraylist类
- 4. 在Web.XML中读取系统属性
- 5. 在R中读取系统TMP目录
- 6. 在Android系统中读取系统功能/用户操作
- 7. 读取文件并存储到ArrayList中
- 8. `在C中读取()`系统调用不会读取字节
- 9. 读取系统调用
- 10. UNIX系统和Windows系统中读取.CSV文件的差异
- 11. 读取Windows中的EFI系统表
- 12. 在C系统中读取二进制文件(在UNIX系统上)(Ubuntu 10.10)
- 13. 读取.csv文件并在ruby中进行简单统计
- 14. 缓存读取系统存储器VS CPU读取系统存储器
- 15. 如何通过ANT读取KV并在系统上执行命令?
- 16. 使用ArrayList登录系统
- 17. 读取.txt文件中的整数并存储在arraylist中
- 18. 无法读取R中执行的系统命令的输出
- 19. Java:读取文件并将其数据存储在ArrayList中?
- 20. Android从sdcsrd读取文本并将其存储在ArrayList中
- 21. 从一个URL读取并存储在一个ArrayList中的JAVA
- 22. php:读取json arraylist并将数据保存在mysql中?
- 23. BufferedReader.readLine()不读取并挂起系统(等待)
- 24. 使用浏览器读取系统字体并显示它们
- 25. 从文件系统读取文件时的并发性
- 26. 读的Json在android系统
- 27. 如何从web.config读取系统值并在ASP.NET MVC中使用C#方法
- 28. 读取数据帧或矩阵值只是类似的并行系统
- 29. 在Linux系统中读取golang中xls文件的值
- 30. 强制读取系统调用块
如果arraylist没有改变,我想不出为什么会有问题,因为所有的线程都在做的是访问列表和阅读。 – DWolf
所以你有多个线程同时写入列表?他们是从列表中读取还是您的读者都在不同的线程? – Perception
@Perception在启动并发之前,列表已被完全填充,因此线程只能读取它。 –