Я только что закончил свое самое сложное и загруженное WinForms приложение на сегодняшний день.Он загружает список любого количества файлов HTML, затем загружает содержимое одного, использует некоторое RegEx, чтобы сопоставить некоторые теги и удалить или заменить их (да, да, я видел это . Работает просто отличноСпасибо Cthulu), затем записывает его на диск.
Однако я заметил, что для обработки ~ 200 файлов требуется примерно 30 секунд, а через первые 5-10 секунд программа отображается как «Не отвечает».Я предполагаю, что не стоит делать что-то вроде , который этот парень сделал , поскольку жесткий диск является узким местом.
Возможно, можно было бы загрузить как можно больше в память, затем обработать каждый потоком, записать их и загрузить еще немного в память?
По крайней мере, создало бы рабочий поток, отдельный от потока пользовательского интерфейса, предотвращение проблемы "Не отвечает"?( В этой статье MSDN рассматривается то, что я рассматривал. )
Наверное, я спрашиваю, предложит ли многопоточность какое-либо улучшение скорости, и если да, то каким будет лучший способсобирается об этом?
Любая помощь или совет высоко ценится!