|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.08.2010, 17:16 | #1 |
Пользователь
Регистрация: 29.01.2010
Сообщений: 10
|
idHTTP.Get и многопоточность
есть программа, которая берёт строку из текстового файла и на основе её переходит по ссылке IdHTTP.Get. пытаюсь реализовать многопоточность, но никак не выходит почему-то потоки (сколько бы я их не задавал) за секунду убиваются до 1... и ещё другая проблема, как сделать так, чтобы потоки при работе с текстовым файлом распределили между собой строки, тем самым повышая производительность? а не обрабатывали все вместе одну и ту же. заранее благодарен
вот код юнита с потоком: Код:
Код:
|
21.08.2010, 17:59 | #2 |
Форумчанин
Регистрация: 03.04.2009
Сообщений: 305
|
мб попробовать TIdHTTP создать динамически в потоке?
Код:
|
21.08.2010, 18:27 | #3 | |
Форумчанин
Регистрация: 22.02.2009
Сообщений: 174
|
Цитата:
http://www.interface.ru/home.asp?artId=19789 |
|
21.08.2010, 19:30 | #4 |
Пользователь
Регистрация: 29.01.2010
Сообщений: 10
|
попробовал, результат тот же... и даже скорость обработки всё равно не возросла
|
21.08.2010, 19:31 | #5 | |
Пользователь
Регистрация: 29.01.2010
Сообщений: 10
|
Цитата:
|
|
24.08.2010, 07:42 | #6 |
Пользователь
Регистрация: 02.11.2008
Сообщений: 75
|
Такого быть не может. Если не создавать его в потоке, то все потоки будет использовать один компонент IdHTTP. Поставь хотя бы 10 потоков, и ты в этом убедишься
«Когда ты действительно чего-то хочешь, вся Вселенная помогает тебе осуществить твою мечту».(с) Пауло Коэльо
|
26.08.2010, 01:33 | #7 | |
Пользователь
Регистрация: 29.01.2010
Сообщений: 10
|
мне на другом форуме ответили следующее...
Цитата:
как мне переписать Execute для потока под такой код? и если оставить организацию счётчика активных потоков в переменной alive (как у меня) будет ли она верно их показывать? или стоит что-то переделать тоже? Последний раз редактировалось pure; 26.08.2010 в 01:37. |
|
26.08.2010, 02:14 | #8 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
FURL внутри Execute это ссылка текущего потока, то есть просто Http.Get(FURL)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
26.08.2010, 02:21 | #9 |
Пользователь
Регистрация: 29.01.2010
Сообщений: 10
|
|
27.08.2010, 00:45 | #10 |
Пользователь
Регистрация: 29.01.2010
Сообщений: 10
|
вот у меня в коде это делает переменная alive, но что-то я сомневаюсь, что она делает это корректно
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Многопоточность и с++ | Koshmarovsky | Visual C++ | 13 | 06.09.2010 20:39 |
Многопоточность | kroŧ | Общие вопросы Delphi | 5 | 21.06.2010 10:47 |
Многопоточность | CrazyDude | Общие вопросы Delphi | 1 | 18.04.2010 19:00 |
Многопоточность | Neymexa | Помощь студентам | 3 | 13.04.2010 11:43 |
Многопоточность IDHTTP | KoBRaAndrey | Работа с сетью в Delphi | 6 | 30.11.2009 15:15 |