我有一个场景,我需要从许多二进制文件中搜索(使用键)并组合结果(字符串)。到目前为止,我一直在 for 循环中一个文件接一个文件地执行此操作。
foreach (string file in FileSources.Keys)
{
aggregatedDefinitions.Append(DefinitionLookup(txtSearchWord.Text, file));
}
由于这个操作很慢,所以我想到了使用线程,这样我就可以并行地做IO操作了。线程是正确的方法。如果我使用线程,我如何才能确保以我想要的顺序获得结果。
直到现在我还没有使用线程。如果您能推荐一些可以帮助我解决问题的 Material /书籍,那将非常有帮助。
最佳答案
一般来说,当您在与应用程序的主线程(通常是 GUI)线程分开的线程上执行一个 I/O 操作时,建议对 I/O 操作使用线程。将许多 I/O 操作拆分为并行的单独线程可能对您没有帮助,因为一次只能由一个人访问磁盘。
关于c# - C#中的有效线程同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2515254/