我有一個簡單的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在啓動併發之前,列表已被完全填充,因此線程只能讀取它。 –