c# - C#中的有效线程同步

标签 c# multithreading

我有一个场景,我需要从许多二进制文件中搜索(使用键)并组合结果(字符串)。到目前为止,我一直在 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/

相关文章:

c# - 我如何在内部保留泛型类型参数的始终可为 null 的等价物?

c# - 事件未在表单中正确引发

python - 在 Flask Python 中产生一个单独的执行线程(即向开发人员发送日志电子邮件)?

Java线程自发唤醒

c# - Azure - ASP.NET MVC 连接到 mysql 数据库

c# - Azure辅助角色计划任务

c# - .NET Core : why WaitHandle. SignalAndWait 在 Linux 上抛出 PlatformNotSupportedException

c# - 如何创建动态类型 List<T>

python - 在 GTK 主循环中向用户请求信息

c - 如何使用 C 线程从头到尾读取文件?