【发布时间】:2011-08-24 20:34:27
【问题描述】:
我正在尝试实施一个解决方案,我遇到了另一个问题(http://stackoverflow.com/questions/7166223/create-password-breaker-for-iphone-backup-files)。解决方案非常简单。问题是我正在使用一本包含大约 250 000 个单词的字典。对于每个单词,我以特定模式添加字母和数字,以获得我通常使用的不同组合。我去掉了我很少使用的组合,但每个单词仍然有大约 24 个组合,因此最终的单词列表将是 600 万左右。
因此,创建列表的过程非常缓慢。我在想也许多线程可以解决我的问题。我的理论是我可以说 4 个线程(我是线程新手,不知道这是否可能)。在线程 1 中,我使用字典的前四分之一,在线程 2 中,我使用第二个四分之一,依此类推。每个线程都会循环遍历字典中的单词,并添加不同的组合。当每个线程完成时,它会将结果写入线程特定的文本文件。当所有线程都完成工作后,我会将不同的文件连接成一个大文本文件(其中包含所有 600 万字)。从而将处理时间缩短为 4。至少这是我所希望的。 :=)
我正在使用 C#。这可能吗?简而言之:是否可以使用 C# 中的不同线程循环遍历文本文件的不同部分?有什么特别值得我考虑的吗?
我会尝试使用它,但我们非常感谢您提出的任何建议。
【问题讨论】:
标签: multithreading loops text-files