|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
03.04.2015, 22:59 | #1 |
Форумчанин
Регистрация: 23.12.2014
Сообщений: 220
|
Массив потоков
Делаю так, создаю массив нескольких потоков, так же создаю массив обьектов TIdHttp,
Для каждого потока - свой TIdHttp! (правильно я понял?) В общем я получаю одни ошибки... Если делать синхронизацию потоков, все работает, но скорость становится равная как у одного потока. И в один поток все работает хорошо. Но я хотел несколько потоков реализовать. Код напишу ниже. Код:
Вставить в форму компонентов Memo штук пять и наблюдать воочию загрузку страниц, неважно в каком порядке, важно что бы они все загрузились, но все начало рушиться! Все пошло крахом! Что задумал изначально- ничего неполучилось! Ни какой многопоточности невышло! Есть какие идеи? |
03.04.2015, 23:17 | #2 |
Форумчанин
Регистрация: 23.12.2014
Сообщений: 220
|
Немного код изменил и получил мало того что цифры повторяются но я еще получил число 12117 откуда оно там, как исправить?
|
03.04.2015, 23:35 | #3 |
Форумчанин
Регистрация: 31.05.2011
Сообщений: 301
|
У тебя чот ваще всё ужасно((( Для начала выкинь массив идхттп и добаввь:
Код:
Код:
Код:
Последний раз редактировалось Stilet; 04.04.2015 в 09:17. |
04.04.2015, 00:40 | #4 |
Форумчанин
Регистрация: 23.12.2014
Сообщений: 220
|
ДралсяСошибками
Спс, да у меня всегда с большими потоками большие проблемы! Сейчас буду пробовать. А от сюда- Код:
Я принципа не пойму, например если для скачки страниц в многопоточности: Для каждого потока - свой TIdHttp! (правильно я понял?) То есть сколько раз мне страницу нужно скачать такого размера у меня и массив должен быть потоков, компонетов... Я самого главного понять немогу... Последний раз редактировалось Stilet; 04.04.2015 в 09:17. |
04.04.2015, 00:48 | #5 |
Форумчанин
Регистрация: 31.05.2011
Сообщений: 301
|
ну по идее убрать, у тебя будет в каждом потоке по одному идхттп
|
04.04.2015, 03:11 | #6 |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
Убери Form1 из кода исполнения потока. Именно здесь падение скорости, т.к. всё, что связано с VCL, выполняется в основном (главном) треде приложения. Никогда так не делай.
Дать тебе кусок методичку про потоки почитать? Да, и не давай нескольким тредам работать с общими глобальными переменными, если без этого можно обойтись! В остальных случаях - только внутри критических секций!!! В той же методичке всё это есть. Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
Последний раз редактировалось Stilet; 04.04.2015 в 09:17. |
04.04.2015, 03:18 | #7 | ||
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,872
|
Цитата:
2 min@y™ Цитата:
А вот где оно дОлжно выполняться дабы не было геморроя - это как раз нужно знать программисту. Последний раз редактировалось Stilet; 04.04.2015 в 09:17. |
||
04.04.2015, 03:29 | #8 | |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
Цитата:
Synchronize() - наше всё... Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
|
04.04.2015, 09:19 | #9 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Я тоже не вижу смысла в потоке автору обращаться к Мемо, что на форме.
Да и Http переменную нужно не массивом хранить, а сделать полем потока. В нем создавать в нем же и грохать. Например как тут: http://www.programmersforum.ru/showthread.php?t=203699
I'm learning to live...
|
04.04.2015, 12:32 | #10 | |
Форумчанин
Регистрация: 23.12.2014
Сообщений: 220
|
Цитата:
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Массив потоков. Не приходит Terminate | grb | Общие вопросы Delphi | 4 | 26.01.2015 10:19 |
Многократное использование потоков(пул потоков) | ProgrammistRT | Общие вопросы Delphi | 10 | 06.04.2014 13:42 |
Массив потоков, и как они очищаются | Winexcel | Общие вопросы Delphi | 5 | 09.10.2013 16:43 |
Синхронизация потоков | Fireblade-fan | Общие вопросы Delphi | 5 | 17.12.2012 01:57 |
Не дать накапливаться N кол-ву потоков в критической секции. Массив. | HSR | Общие вопросы Delphi | 7 | 15.11.2012 01:02 |