考慮簡單的Java應用程序,該應用程序應該遍歷光盤中的文件樹以查找文件正文中的特定模式。在文件中查找文本模式的多線程方法
想知道是否有可能使用多線程實現更好的性能,例如,當我們找到新的文件夾時,我們會在固定的ThreadPool中提交新的Runnable。可運行的任務應該遍歷文件夾來找出新的文件夾等。我認爲這個操作應該是IO綁定,而不是CPU綁定,所以產生新的線程不會提高性能。
它取決於硬盤類型? (hdd,... etc) 它取決於操作系統類型嗎?
恕我直言,唯一可以並行的是 - 產生新的線程來解析文件內容,以找出文件正文中的模式。
什麼是解決這個問題的常見模式呢?它應該是多線程還是單線程的?
這肯定取決於光盤類型...尋道時間無小事(也就是說,如果你不使用SSD),所以我沒有看到在這裏使用多線程的優勢。 考慮到了兩個文件,如果你在並行閱讀,操作系統將具有文件1讀取,然後尋求文件2,然後從文件2讀,然後...... – fge 2011-12-16 13:24:51