Я пытаюсь реализовать решение, которое я получил на другой вопрос, который я задал (/6928469/sozdat-vzlomschik-parolei-dlya-failov-rezervnyh-kopii-iphone). Решение очень простое. Проблема в том, что я использую словарь с около 250 000 слов в нем. Для каждого слова я добавляю буквы и цифры в определенные шаблоны, чтобы получить различные комбинации, которые я обычно использую. Я убрал комбинации, которые редко использую, но у меня все еще есть около 24 комбинаций для каждого слова, поэтому окончательный список слов будет примерно 6 миллионов или около того.
Процесс создания списка очень медленный. Я подумал, может ли многопоточность решить мою проблему. Моя теория состоит в том, что я мог бы сказать 4 темы (я новичок в теме, и не знаю, возможно ли это). В теме 1 я использую первый четвертый словарь, в теме 2 - второй четвертый и т. Д. Каждый поток просматривает слова в своей части словаря и добавляет различные комбинации. Когда каждый поток завершается, он записывает результат в определенные текстовые файлы. Когда все потоки выполнят свою работу, я объединю различные файлы в один большой текстовый файл (со всеми 6 миллионами слов в нем). Тем самым сокращая время обработки в 4. По крайней мере, это то, на что я надеюсь. : =)
Я работаю в C #. Это возможно? Итак, вкратце: возможно ли зацикливаться на разных разделах текстового файла, используя разные потоки в C #? Есть ли что-то особенное, о чем мне следует подумать?
Я постараюсь поэкспериментировать с этим, но любой ваш совет будет высоко оценен.