|
0 / 0 / 0
Регистрация: 22.02.2018
Сообщений: 6
|
|
Многопоточное копирование одного или группы файлов23.07.2018, 09:16. Показов 6086. Ответов 13
Метки нет (Все метки)
Здравствуйте! у меня вопрос по поводу многопточного копирования файлов в WinForms. Я написал код копирования файлов https://drive.google.com/open?... yA6GPvOUnE,
теперь мне необходимо его в многопоточное копирование превратить, правда сам не знаю как ![]() ![]() А также Построить зависимость скорости копирования от размера внутреннего буфера памяти (512, 1024, 2048, 4096, 16*1024, 64*1024, 256*1024 байт, 1Мбайт, 4 Мбайт, 16 Мбайт, 32 Мбайт ). Помоготи плиииз...
0
|
|
| 23.07.2018, 09:16 | |
|
Ответы с готовыми решениями:
13
Многопоточное копирование файлов Многопоточное копирование файлов
|
|
814 / 561 / 240
Регистрация: 01.07.2018
Сообщений: 1,818
|
||||||
| 23.07.2018, 09:33 | ||||||
|
Ну так используйте асинхронные методы.
0
|
||||||
|
0 / 0 / 0
Регистрация: 22.02.2018
Сообщений: 6
|
|
| 23.07.2018, 09:46 [ТС] | |
|
Спасибо за ответ! Т.е. мне необходимо вместо моего метода CopyFile(), использовать асинхронные методы которые вы скинули?
0
|
|
|
814 / 561 / 240
Регистрация: 01.07.2018
Сообщений: 1,818
|
|
| 23.07.2018, 09:54 | |
|
Salamvsem, Да. И вызывать через task.wait()
0
|
|
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|||
| 23.07.2018, 10:17 | |||
|
1. Не показывается прогресс. 2. Раскручивается поток только для того, чтобы ждать завершения асинхронной операции, т.е. отпадает необходимость в асинхронном методе.
0
|
|||
|
814 / 561 / 240
Регистрация: 01.07.2018
Сообщений: 1,818
|
||||||
| 23.07.2018, 11:01 | ||||||
|
kolorotur, Покажите ваш способ ?
Добавлено через 38 минут Еще способ через делегат. Код не мой. Подсмотрел.
0
|
||||||
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
||
| 23.07.2018, 11:21 | ||
|
Немного причесать код и пару багов исправить и будет вполне кошерно.
0
|
||
|
0 / 0 / 0
Регистрация: 22.02.2018
Сообщений: 6
|
||
| 23.07.2018, 15:07 [ТС] | ||
|
Добавлено через 1 минуту
Подскажите как причесать код и исправить пару багов? ![]() ![]() ![]() Добавлено через 2 минуты
0
|
||
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
||
| 23.07.2018, 16:05 | ||
Сообщение было отмечено Salamvsem как решение
Решение
2
|
||
|
0 / 0 / 0
Регистрация: 22.02.2018
Сообщений: 6
|
|
| 23.07.2018, 18:11 [ТС] | |
|
Спасибо за ваши советы!!! я почти разобрался со всеми вашими наставлениями. вот только вопрос по поводу того что в методе CopyFile неплохо было бы потоки обернуть в using, как это произвести? я вот хотел обернуть их, вот только в проверке выходят ошибочки, как правильно эти потоки обернуть? Буду очень благодарен вам!!!!
private void CopyFile(string source, string destination, DoWorkEventArgs e) { using (FileStream fsOut = new FileStream(destination, FileMode.Create)) using (FileStream fsIn = new FileStream(source, FileMode.Open)) ; byte[] buffer = new byte[4096]; int readBytes; while ((readBytes = fsIn.Read(buffer, 0, buffer.Length)) > 0)\\ здесь не видит fsIn - пишет не существует в текущем контексте... { if (worker.CancellationPending) { e.Cancel = true; worker.ReportProgress(0); return; } else { fsOut.Write(buffer, 0, readBytes);\\ и здесь также fsOut не видит... float prog = fsIn.Position * 100 / fsIn.Length; worker.ReportProgress((int)prog); } } }
0
|
|
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|||||||
| 23.07.2018, 19:09 | |||||||
0
|
|||||||
|
0 / 0 / 0
Регистрация: 22.02.2018
Сообщений: 6
|
|
| 23.07.2018, 20:53 [ТС] | |
|
Спасибо за ответ!!! Я уже наверное надоел вам, но последний вопрос по поводу передачи значения при вызове RunWorkerAsync(). я вот накидал кода посмотрите пожалуйста... я снизу подгрузил файл Многтпоточное копирование.txt
0
|
|
|
0 / 0 / 0
Регистрация: 22.02.2018
Сообщений: 6
|
|
| 24.07.2018, 09:59 [ТС] | |
|
kolorotur, Спасибо за ответ!!! Я уже наверное надоел вам, но последний вопрос по поводу передачи значения при вызове RunWorkerAsync(). я вот накидал кода посмотрите пожалуйста... я снизу подгрузил файл Многтпоточное копирование.txt
0
|
|
| 24.07.2018, 09:59 | |
|
Помогаю со студенческими работами здесь
14
Копирование группы файлов по заданным путям Копирование файлов из группы каталогов в несколько потоков Перехват события на копирование/перемещение файла/группы файлов
копирование файлов из одного каталога в другую Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|