Я хочу выполнить несколько задач (дисковый ввод-вывод на удаленных общих ресурсах) одновременно.Я не хочу блокировать пользовательский интерфейс.Я думаю, что мне нужно создать пользовательский класс, который делает следующее ...
- Принимает и ставит в очередь запрос (используя стек)
- Проверяет пул потоков и если поток являетсяavailable запускает его с запрошенной информацией
- Когда каждый поток завершает проверку стека на наличие ожидающих запросов ...
Есть ли лучший способ сделать это?
Есть ли уже доступный класс для этого?
Должен ли я использовать пул класса BackgroundWorker или что-то еще?
Должен ли я реализовать класс BackgroundWorker в пользовательском классе, чтобы я могсоздать несколько потоков?
Я хочу создать до 8 потоков для удаления файлов и папок.Мне нужно запросить количество элементов в стеке для обновления пользовательского интерфейса.
В настоящее время у меня есть код, работающий с одним потоком BackgroundWorker для удаления файлов и папок (который удерживает пользовательский интерфейс от блокировки, но требуеттак долго, как правило, я запускаю несколько утилит одновременно).
Спасибо, Ли