Я работаю над менеджером загрузки WPF, который должен поддерживать загрузку нескольких файлов одновременно через HTTP, добавление новой загрузки, приостановка / возобновление, отображение и обновление информации о каждом процессе загрузки (имя файла, размер, процент загрузки, время осталось ...) в DataGrid, отображая прогресс в ProgressBar и кучу других вещей.
Итак, идея состоит в том, чтобы использовать отдельный поток для каждого процесса загрузки и иметь возможность динамически создавать / отменять потоки. Каков наилучший способ сделать это? Используя BackgroundWorker, ThreadPool?