BackgroundWorker предназначен в основном для раннего обучения. Возможно странный альтернативный сценарий многопоточности. То, что вы делаете, звучит как очень продвинутая работа. Вы все еще можете использовать BGW, но на этом этапе лучше использовать необработанные потоки, задачи, потоки и т. П.
Существует также общий вопрос, можно ли даже ускорить эту операцию с помощью многопоточности. Мне нравится говорить, что «многопоточность должна тщательно выбирать проблемы». Выберите его в неправильном сценарии, и вы получите программу, которая требует больше памяти, более подвержена ошибкам и медленнее , чем отдельная BGW или последовательная программа.
Ваш случай может быть одним из редких случаев приятной операции . Или это может быть связано с памятью. Это означает, что вы почти мгновенно сталкиваетесь с замедлением Паралеля . Сопротивляйтесь попыткам при жестком кодировании количества потоков. Обычно вы можете оставить эту работу по балансировке нагрузки ThreadPool. Чтобы получить лучший ответ, вам нужно быть более конкретным.