C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Thread -Параллельная обработка, Thread -Параллельная обработка
** Andrey
Отправлено: 21.09.2004, 20:37


Не зарегистрирован







Здравствуйте !.
Подскажите пожалуйста как можно организовать параллельное скачивание хотя бы 2ух файлов из Internet.
С нитями Thread я работал но при использовании запроса в 2ух нитях к следующему коду:
NMHTTP1->InputFileMode = true;
NMHTTP1->Body = sFileSave;
NMHTTP1->Get(sUrl);
Builder 6.0 сильно ругается предполагаю из за одновременного обращения.

А все эту параллельную муть я затеял для повышения скорости скачивания файлов.
Итак пару вопросов:
1. Поможет ли параллельное скачивание этих файлов (размер 3-5кБайт, а кол-во 200 шт.)
2. Как повысить КПД скачивания файлов с выше указанными параметрами
3. можно ли организовать параллельное скачивание файлов через Нити
UA_Freeman
Отправлено: 21.09.2004, 20:55


Дежурный стрелочник

Группа: Участник
Сообщений: 31



Могу сразу сказать, что каждый поток должен работать со своим NMHTTP
Konstantine
Отправлено: 22.09.2004, 08:30


Мастер участка

Группа: Модератор
Сообщений: 545



QUOTE
... а кол-во 200 шт...
ну на каждое ОДНОВРЕМЕННОЕ соединение должен быть определён свой сокет (и соотв. компонент). компоненты NMHTTP1, особенно, если используешь в потоке (thread), создавай динамически. приём сильно не увлекайся, 200 шт создавать не стОит — недаром качалки обычто 5 ставят по default.

и ещё одно: если функция NMHTTP1->Get(sUrl) — неблокирующая (не блокирует выполнение программы до получения результата), то можешь вообще обойтись без дополнительных потоков.

Вернуться в Вопросы программирования в C++Builder