Да, использование потоков может ускорить процесс.
Потоки должны использоваться, когда у вас есть время на выполнение задач, которые вы можете запускать в фоновом режиме (например, когда вы обрабатываете, скажем, 10 файлов, но вам нужен только один, вы можете иметь поток, обрабатывающий каждый из них, который будет намного быстрее, чем обрабатывать их). все в вашей основной ветке).
Пожалуйста, обратите внимание, что могут быть ошибки, связанные с этим, поэтому вы должны убедиться, что все потоки закончили работать, прежде чем продолжить и пытаться получить доступ к тому, что получили.
Посмотрите "C # .NET многопоточность"
любой поток может запустить указанную функцию, и фоновый работник также является хорошим классом (хотя я предпочитаю чистую многопоточность).
Также обратите внимание, что это может иметь неприятные последствия и замедляться, но это хорошая идея, чтобы попробовать.