ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
ХЕЛП!!! Thread creation error : not enough storage |

05.08.2009, 21:41
|
|
Участник форума
Регистрация: 05.06.2009
Сообщений: 125
Провел на форуме: 1454012
Репутация:
59
|
|
ХЕЛП!!! Thread creation error : not enough storage
Thread creation error : not enough storage
После 10-20 мин работы проги выдает такую ошибку. 50 потоков работает.
Нагруз на проц 1%
На память 10 МБ
Потоки каждый после работы удаляется.
В чем может быть дело. Помогите плз.
|
|
|

05.08.2009, 22:25
|
|
Постоянный
Регистрация: 13.12.2008
Сообщений: 354
Провел на форуме: 1747641
Репутация:
175
|
|
Выложи исходный код, или хотя бы часть которая отвечает за работу с потоками.
|
|
|

05.08.2009, 22:41
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
После создания потока ты закрываешь его хендл?
Ну и в конце каждого потока ExitThread(0)
|
|
|

06.08.2009, 00:24
|
|
Участник форума
Регистрация: 05.06.2009
Сообщений: 125
Провел на форуме: 1454012
Репутация:
59
|
|
procedure ge.Execute;
begin
try
Synchronize(unit1.Form1.porgr);
self.Terminate;
self.Free;
self.Destroy;
except
Synchronize(unit1.Form1.porgr);
self.Terminate;
self.Free;
self.Destroy;
end;
end;
|
|
|

06.08.2009, 00:32
|
|
Участник форума
Регистрация: 05.06.2009
Сообщений: 125
Провел на форуме: 1454012
Репутация:
59
|
|
Наверное потоки не удаляются потому что диспетчер опказывает нарастание памяти проги в оператве. Доходя до 30Мб скачут ошибки а на 34 вырубаетсяпрога. Но потоки то дестроятся вроде норм. хз непойму 
|
|
|

06.08.2009, 01:25
|
|
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
Провел на форуме: 2868783
Репутация:
414
|
|
Смотри внимательно где ты освобождаешь ресурсы и правильно ли ты это делаешь.
|
|
|

06.08.2009, 01:50
|
|
Участник форума
Регистрация: 05.06.2009
Сообщений: 125
Провел на форуме: 1454012
Репутация:
59
|
|
Да вот смотри. Поток какбы удаляется. Но из памяти не удаляеться. Только из переменной наверное. Код я написал. В чем дело хз.
|
|
|

06.08.2009, 02:00
|
|
Участник форума
Регистрация: 29.08.2008
Сообщений: 151
Провел на форуме: 1551582
Репутация:
107
|
|
попробуй использовать ExitThread(0)
|
|
|

06.08.2009, 07:03
|
|
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме: 1892597
Репутация:
836
|
|
Сообщение от narik_
procedure ge.Execute;
begin
try
Synchronize(unit1.Form1.porgr);
self.Terminate;
self.Free;
self.Destroy;
except
Synchronize(unit1.Form1.porgr);
self.Terminate;
self.Free;
self.Destroy;
end;
end;
o_O
Пишу по памяти...
Ты наследушься от класса TThread.
перекрываешь метод Execute;
При необходимости пишешь свой конструктор, деструктор.
PHP код:
constructor Create(CreateSuspended: Boolean);
begin
self.FreeOnTerminate:=true;
end;
procedure ge.Execute; override
begin
try
SomeLogic
except
self.Terminate;
finally
Synchronize(unit1.Form1.porgr);
end
имхо... хотя мог и ошибиться, забыл уже дельфи =(
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
|
|
|

06.08.2009, 14:23
|
|
Постоянный
Регистрация: 13.12.2008
Сообщений: 354
Провел на форуме: 1747641
Репутация:
175
|
|
По моему достаточно присвоить переменной FreeOnTerminate значение True, как написал W!z@rD. Я в своих программах так делаю, - потоки освобождают память. Но я не переписываю конструктор/деконструктор, я при создании потока присваиваю его параметру FreeOnTerminate данное значение.
|
|
|
|
 |
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
Удобный Http брут на Php
|
KEZ |
PHP, PERL, MySQL, JavaScript |
18 |
13.08.2005 13:34 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|