![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 31.12.2006
Сообщений: 114
|
![]()
Здравствуйте, продолжаю изучение thread потоков) Столкнулся с проблемой, есть программа, нужно динамически создать tidhttp и отправить get запросы с изменением одного символа в запросе, только нужно это сделать в потоке, т.е что бы одновременно запускалось заданное количество потоков и парсило данные...
З.Ы. for i:=0 to 5000 do begin idhttp[i].get('http://test.ru'+inttostr(i)) end; При запуске третьего потока, цикл начинает выполняться сначало, а нужно что бы от 0 до 5000 отправляло запросы не повторяясь... Ломаю голову кучу времени... По сути можно синхронизировать еще один поток через synchronize, только пользователь сам должен выбирать колличество потоков... Последний раз редактировалось Stilet; 23.05.2013 в 21:27. |
![]() |
![]() |
![]() |
#2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
А ты сделай свойство для твоего класса потока, куда при запуске будешь передавать значение, которое еще не прошли другие потоки.
Или можно сделать глобальную переменку, куда потоки будут записывать под синхронизацией последний номер счетчика, а новые потоки его подхватывать. Впрочем первое надежнее.
I'm learning to live...
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 31.12.2006
Сообщений: 114
|
![]()
Можно по поводу первого пример ? как это использовать в крации
Например, как при запуске, передать значение, которое не прошли другие потоки ? Помогите решить проблему буду очень признателен... Последний раз редактировалось niva622; 23.05.2013 в 22:38. |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 19.08.2011
Сообщений: 329
|
![]() Код:
Код:
|
![]() |
![]() |
![]() |
#5 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
![]()
А где тут потоки?
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 31.12.2006
Сообщений: 114
|
![]()
всем спасибо буду разбираться
![]() |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 31.12.2006
Сообщений: 114
|
![]() |
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 31.12.2006
Сообщений: 114
|
![]()
Все разобрался) нужно было всего лишь использовать процедуру INC
Последний раз редактировалось niva622; 25.05.2013 в 13:36. |
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 31.12.2006
Сообщений: 114
|
![]()
Снова недопонимание,
Если нажимать на кнопку самому тем самым увеличивая потоки, то все нормально while a do begin Inc(iss); Sleep(100); Synchronize(updateCaption) ; end; crit.Leave ; end; updateCaption; begin Form1.lst1.Items.Add(IntToStr(iss)) end; а если for i:=0 to 4 do begin test:=thread.Create(true); test.Priority:=tpNormal ; test.Resume end; То поток находит на поток и повторяет числа... |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Передать массив байт [D7]Indy => [XE2]Indy | Человек_Борща | Работа с сетью в Delphi | 1 | 15.09.2012 22:06 |
У меня borland developer studio delphi 2006 так вот как вставить на вкладку tool palette компоненты Indy Clients и Indy Misc | Artem_host | Общие вопросы Delphi | 0 | 01.02.2012 09:55 |
как обновить indy 9 на indy 10 | Пилигрим | Компоненты Delphi | 16 | 30.04.2010 10:11 |
Многопоточность Indy | AVer | Работа с сетью в Delphi | 14 | 14.02.2009 22:10 |
Многопоточность с INDY | Ragnarek | Работа с сетью в Delphi | 2 | 27.01.2009 13:25 |