我想在2個線程的幫助下讀取500 MB的文件,以便讀取文件的速度會更快。有人請給我一些使用核心Java概念的任務代碼。使用MultiThreading更快地讀取文件
1
A
回答
10
多線程不可能使代碼更快。這是因爲讀取文件是一個I/O綁定進程。你將受到磁盤速度的限制,而不是你的處理器。
+1
+1:文件讀取的解析通常比讀取文件的時間更長。這部分可能受益於使用多個CPU。但是,文件的簡單閱讀不會。 –
3
而不是嘗試多線程讀取,您可能會受益於多線程處理數據。這可以使它看起來像使用多線程來讀取可以提供幫助,但實際上,使用一個線程來讀取並且多線程來處理通常會更好。
這通常需要更長時間並且受CPU限制。使用多線程讀取文件通常有助於在不同物理磁盤上存在多個文件(極少數情況下)
0
雖然使用多線程讀取文件可能無法加快從光盤讀取的速度通過不在與讀取相同的線程中進行處理來完成該過程。 這將取決於文件的內容。
相關問題
- 1. 如何使用python更快地讀取文件中的多行?
- 2. 更快更有效地生成文件讀取排列?
- 3. 使用java快速高效地讀取tab分隔文件
- 4. 在ASP.NET中更快地讀取XML文件
- 5. jquery快速讀取文件
- 6. 快速文件讀取
- 7. 使用Coffeescript讀取本地文件
- 8. 如何從文本文件讀取更快/更智能?
- 9. 用指數快速讀取文件
- 10. 從文本文件中快速讀取
- 11. 使用讀取功能讀取文件
- 12. 文件讀取第一讀取慢,但很快就連續讀
- 13. 讀取文件到地圖
- 14. Angular4讀取本地文件
- 15. Dojo使用dojo.xhrGet從本地文件系統讀取json文件
- 16. 免費Pascal:快速高效地讀取文件
- 17. 在C++中使用armadilo讀取數據文件的更快方法
- 18. 更好,更快地從URL讀取字符串
- 19. 更好的數據結構,以更快地讀取列表地圖的地圖
- 20. 如何從文本文件中讀取極長的文本文件,在C++中快速安全地使用?
- 21. 使用javascript讀取文件
- 22. 使用javascript讀取文件
- 23. 讀取文件使用Ruby
- 24. 使用ifstream讀取文件
- 25. 使用fscanf讀取文件()
- 26. 使用fgetc讀取文件
- 27. Python快速讀取和寫入文件
- 28. 快速讀取大量文件
- 29. 快速雙文件讀取C
- 30. 加快讀取數據文件
在大多數設置中,限制因素將是磁盤讀取的速度,而不是嘗試執行讀取的線程數量......我希望您更可能引入爭用並減緩讀取down ... – forsvarir
當您連續讀取文件時,操作系統會檢測到該文件併爲您讀取文件。即它有一個「線程」試圖自動讀取。 –
您是否考慮過內存映射文件以提高性能?正如forsvarir所說,限制因素不可能是線程的數量。 – Adamski