|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
22.05.2010, 11:33 | #1 |
Форумчанин
Регистрация: 04.05.2009
Сообщений: 147
|
Многопоточность и прогресс
Здравствуйте я пишу менеджер закачек на курсовую и использую такой вариант скачивания:
Код:
с прогрессом загрузки разобрался через HTTPQueryINFO. А вот как сделать многопоточную закачку*** Последний раз редактировалось Horus92; 22.05.2010 в 18:59. |
22.05.2010, 22:21 | #2 |
Форумчанин
Регистрация: 04.05.2009
Сообщений: 147
|
Натолкните хотя бы на мысль как реализовать многопоточность то что я пока понял это получать range из http и как -то через него скачивать кусок файла.
|
22.05.2010, 22:46 | #3 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
как минимум TThread используйте + синхронизацию(сообщения отменно подходят)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
23.05.2010, 07:39 | #4 |
Форумчанин
Регистрация: 04.05.2009
Сообщений: 147
|
Пока вот что вышло это обычное скачивание. В данный момент тут TThread сделан для паузы закачки так как закачка вешала форму.
Кнопка запуска: Код:
Код:
Код:
|
23.05.2010, 14:15 | #5 |
Участник клуба
Регистрация: 13.01.2009
Сообщений: 1,353
|
Horus92, ваш поток рабочий должен быть синхронизирован с главным потоком. Феникс правильно вам подсказал, используйте PostMessage(<объект кому надо отправить>, <сообщение(обычно резервируется как константа с уникальным идентификатором)>, WParam, LParam);
А сам поток поставьте в критическую секцию, или используйте мьютексы. А для того, чтобы обработать сообщение для объекта, нужно написать процедуру обработки: Код:
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
|
23.05.2010, 16:42 | #6 |
Форумчанин
Регистрация: 04.05.2009
Сообщений: 147
|
А что даст синхронизация? и как она вобще выполняется.
И помогите все же как мне примерно реализовать алгоритм многопоточности а то у меня есть однопоточная загрузка через функцию указанную выше а многопоточность я понял реализуется сза счет скачивания файла несколькими потоками с разных мест определенный кусок и потом соединение воедино. Так как видоизменить мою функцию для скачивания файла с определнного места?? |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[Вопрос] Как определить прогресс таймера? | ZARO | Помощь студентам | 13 | 12.03.2010 06:23 |
Многопоточность. | newmister | Общие вопросы Delphi | 9 | 24.07.2009 12:54 |
список и прогресс бар | Temka | Общие вопросы Delphi | 1 | 02.06.2009 12:20 |
После нажатия старт идёт типа прогресс и отправляет скачать полную версию программы | aminov | Фриланс | 13 | 28.07.2008 16:34 |
Прогресс закачки | mish666 | Работа с сетью в Delphi | 7 | 21.01.2008 15:50 |