Threading в .net - PullRequest
       42

Threading в .net

4 голосов
/ 22 марта 2009

У меня есть простой пример приложения winforms, где я выбираю каталог в средстве выбора каталогов и нажимаю кнопку, чтобы перебирать каталог и копировать каждый файл в каталоге в другой каталог.

Я хочу сделать копию файла в фоновом потоке, чтобы избежать блокировки графического интерфейса.

Я ищу простейшее решение для:

  1. Создание фоновой темы
  2. Передать источник и адресаты в
  3. Получить обратный вызов при выполнении, чтобы я мог показать индикатор выполнения в потоке GUI

Ответы [ 2 ]

7 голосов
/ 22 марта 2009

Я бы рекомендовал использовать класс BackgroundWorker .

Пример .

2 голосов
/ 22 марта 2009

В дополнение к вышеприведенному ответу я бы добавил, что BackgroundWorker идеально подходит для этого, поскольку он также может давать вам обновления прогресса. Просто убедитесь, что вы предотвращаете повторный вход - это необходимо для предотвращения ситуации, когда пользователь может снова запустить фоновый рабочий до его завершения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...