Добрый день, подскажите как быть.
Есть программа, которая копирует множество файлов из одного места по сети в другое, очередь файлов на копирование собирается специфическим образом (в графическом интерфейсе человек отмечает множество папок и файлов галочками).
Для реализации самого копирования было решено не изобретать велосипед и воспользоваться классом из интернет
В нем как раз копирование сделано через ThreadPool. Но я не понимаю как управлять этим ThreadPool т.е. как понять что копирование уже завершено? И еще момент - копирование через эти ThreadPool забивает канал и память, компьютер сильно зависает. Как-то можно ограничить эти параметры?
Если вы пользуетесь библиотекой для копирования файлов — это она должна уметь сообщить вам, что копирование завершено. В противном случае это плохая, негодная библиотека, и вы должны сменить её на нормальную.
Пул потоков в .NET не завершает работу никогда, это служебная часть рантайм-библиотеки, которая доступна всегда, до окончания работы программы.
Я думаю, нет смысла копировать одновременно несколько файлов, т. к. вы упираетесь в производительность системы ввода-вывода. Попробуйте копировать файлы по одному, один за другим.
P. S.: А чем вас не устраивает стандартное копирование через File.Copy? Зачем нужна какая-то библиотека?
P. P. S.: Первое, что я увидел, открыв статью, на которую вы ссылаетесь — событие FileCopyComplete. Почему бы просто не подписаться на него?
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости