запустить его в потоке фонового рабочего или в отдельном потоке.
Работа не должна выполняться в потоке пользовательского интерфейса, если только она непосредственно не относится к самому пользовательскому интерфейсу. BackgroundWorker - это объект, который действительно упрощает работу с потоками. Обучающее руководство см. в этой записи . Он объясняет, что делает Фоновый работник и как его использовать.
Если вы работаете с потоком пользовательского интерфейса, вы отнимаете циклы ЦП от пользовательского интерфейса, в результате чего пользователь чувствует себя медленно. Выполнение работы в собственном потоке и , а затем обновление пользовательского интерфейса - лучший способ сделать это. Таким образом, пользователь может делать другие вещи, и пользовательский интерфейс отвечает правильно.