考虑简单的Java应用程序,该应用程序应该遍历光盘中的文件树以查找文件正文中的特定模式。在文件中查找文本模式的多线程方法
想知道是否有可能使用多线程实现更好的性能,例如,当我们找到新的文件夹时,我们会在固定的ThreadPool中提交新的Runnable。可运行的任务应该遍历文件夹来找出新的文件夹等。我认为这个操作应该是IO绑定,而不是CPU绑定,所以产生新的线程不会提高性能。
它取决于硬盘类型? (hdd,... etc) 它取决于操作系统类型吗?
恕我直言,唯一可以并行的是 - 产生新的线程来解析文件内容,以找出文件正文中的模式。
什么是解决这个问题的常见模式呢?它应该是多线程还是单线程的?
这肯定取决于光盘类型...寻道时间无小事(也就是说,如果你不使用SSD),所以我没有看到在这里使用多线程的优势。 考虑到了两个文件,如果你在并行阅读,操作系统将具有文件1读取,然后寻求文件2,然后从文件2读,然后...... – fge 2011-12-16 13:24:51