29 / 29 / 8
Регистрация: 28.01.2013
Сообщений: 211
1

Многопоточное копирование файлов

29.05.2013, 18:44. Показов 2803. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пишу небольшую утилитку, которая собой представляет грабер флешки. На данный момент сделал определение подключения флешки, создание списка всех файлов на ней включая все папки и копирование файлов в отдельном потоке. Но вот наткнулся на такую проблемку: на флешке могут быть очень большие файлы, которые долго копируются, а копирование других не продолжается пока не скопируется этот файл. Пробовал сделать для каждого файла свой поток для копирования, но так как их реально много, потоком создается столько, что оперативы не хватает и вылетает исключение. Подскажите, как лучше организовать быстрое копирование всех файлов. Во как)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.05.2013, 18:44
Ответы с готовыми решениями:

Многопоточное чтение больших файлов
Доброго времени суток! Нужен совет. Имеется, скажем, 10 текстовых файлов 1.txt;2.txt и т.д. и...

Многопоточное считывание файлов на сервере
Подскажите есть код который считает все файлы на сервере и вот он работает очень медленно 22000...

Многопоточное чтение больших файлов
Привет всем! Подскажите пожалуйста как реализовать многопоточное чтение файла рамером 1gb и больше...

Подскажите паттерн для задачи (многопоточное чтение и обработка файлов)
Добрый день! Есть следующая задача. Нужно делать многопоточную программу. 2 потока читают данные...

4
38 / 38 / 11
Регистрация: 21.05.2013
Сообщений: 128
30.05.2013, 17:37 2
А что толку от этих потоков, это же вам не процессор с множеством ядер, общая скорость копирования все равно не возрастет?
0
29 / 29 / 8
Регистрация: 28.01.2013
Сообщений: 211
04.06.2013, 17:26  [ТС] 3
Основная проблема не в скорости все же, а в том, чтобы пока копировался большой файл, программа не останавливалась, а продолжала копировать другие. На самом деле уже решил проблему, создавая несколько потоков, которые в свою очередь начинают идти по списку файлов и копировать именно те, которые еще не скопированны и идут они от меньшего к большему, так как более важной инфой на флешках, обычно являются .doc или xls или просто картинки, а большие объемы это уже фильмы или образы, ну и т.д.
0
9 / 9 / 0
Регистрация: 13.08.2011
Сообщений: 41
04.06.2013, 17:51 4
Чтобы не страдала производительность, лучше приостанавливать копирование большего файла, когда находится меньший, копировать его, а потом продолжать копирование большего.

Один поток - для копирования, второй - для чтения дерева каталогов.
0
175 / 92 / 10
Регистрация: 27.05.2013
Сообщений: 290
04.06.2013, 19:00 5
Да не так. Просто когда натыкаешься на большие файлы (например условие 50Мб и выше), не копируешь их, а заносишь пути в список. После всей рекурсии папок, у тебя получится список больших файлов - их потом последовательно копируешь куда надо.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.06.2013, 19:00
Помогаю со студенческими работами здесь

Копирование файлов из списка файлов
Здравствуйте, уважаемые форумчане. Помогите решить проблему: ищу файлы методом foreach...

Копирование файлов
Для решения задачи необходимо уметь: 1) Определить время создания/изменения файла(ов) (можно в мс,...

Копирование файлов
Добрый день. Нужна помощь. Такая ситуация... Есть необходимость поиска файлов определенного типа на...

Копирование файлов
Добрый вечер! Есть задание, согласно которому необходимо логировать все изменения в директории и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru