![]() |
[Delphi] Threads (проблема)
Название не случайно.
Эти грёбаные потоки забрали у меня столько нервов, что просто ужас, но речь не о нервах. Я поставил цель создать в Delphi 7 многопоточное приложение, которое будет работать с определённым узлом интернета. Но этот узел нестабилен. Когда к нему можно подкл, а когда низя. Сначала я решил поступить так: Я объявил массив для потоков. Код:
TH: array[1..25] of Thread; //Кстати само имя класса ThreadКод:
while(условие, что есть данные) doКод:
for i:=1 to 25 doЯ решил поступить иначе. Я кинул на форму таймер и на него стал создавать потоки разумеется с определённым интервалом Код:
if (i>25) then i:=1;Но возникла другая проблемма. Моя прога стала ох..енно жрать память. Кто мне что посоветует? На динамику всё проверил. Там всё освобождается. |
Для начала код заключи в теги [code], не читабельно.
|
Также пробовал по принципу создали подождали оттерминатели.
Непомогает. |
Цитата:
|
класс родитель Thread так ты и потомка еще так обозвал?! О_О
утечка памяти скорее всего в том что у тебя потоки не освобождаются. проверь освобождаются ли они у тебя, process explorer показывается, колл-во активных потоков у приложения. |
Цитата:
Наверно, это самое нормальное решение. |
Мой самописный брут до 1700 потоков держит, TIdThreadComponent из индей девятых + из тех же индей IdHTTP.
Код:
Код:
|
п**ц брутер на IdHTTP. Скоро наверное вообще будут ддос боты на Indy постоенные.
Лучше юзай вондовые потоки, а не класс дельфяный. потому что Виндовые они сами всё освобождают после свого закрытие. Юзай CreateThread Также если работаешь с http то если тяжко заюзать сокеты, то хотябы юзай функции их wininet (InternetOpen итд итп) |
Смысл этого самоосвобождения если у меня в процедуре потока стоит while а сразу после него thr[num].stop; thr[num].free;
а насчет разницы в скорости тут вопрос, будет ли она достаточной чтобы заставить меня переписывать весь код уже готового брута. [offtop] для ддоса можно IP*works заюзать для разнообразия :D [/offtop] |
Весма буду благодарен за фрагменты кода.
Заранее спасибо. В отличае от Миши у меня опыта поменьше. Так что извиняйте за нерациональность. |
| Время: 09:36 |