我有一个场景,我需要从许多二进制文件(使用键)搜索并结合结果(字符串).到目前为止,我一直在一个for循环的文件中执行它.
foreach (string file in FileSources.Keys)
{
aggregatedDefinitions.Append(DefinitionLookup(txtSearchWord.Text, file));
}
Run Code Online (Sandbox Code Playgroud)
由于此操作非常慢,我考虑使用线程,以便我可以并行执行IO操作.穿线是正确的方法.如果我使用线程,我怎样才能确保按照我想要的顺序得到结果.
到目前为止我还没有使用线程.如果您可以建议一些可以帮助我解决问题的材料/书籍,将会非常有帮助.
一般来说,当您在应用程序的主(通常是GUI)线程的单独线程上执行一个 I/O操作时,建议对I/O操作使用线程.在并行的单独线程上拆分许多 I/O操作可能不会对您有所帮助,因为磁盘一次只能访问一个.