|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.06.2013, 23:03 | #1 |
Форумчанин
Регистрация: 04.01.2011
Сообщений: 260
|
Принудительно уничтожить поток(TThread) с корректным высвобождением памяти
Добрый день. Есть программа многопоточной загрузки с обработкой HTML-странииц
Программа работает, но иногда попадаются файлы большого размера(10 мб, например http://www.techboard.ru/thread.php?c...d=10&page=2546) с большим количеством ссылок внутри. загрузчик (TidHttp) загружает страницу достаточно быстро(40 сек) и гарантированно, но обработка такой страницы доходит до 30 мин и завершается корректно, однако времени ждать такую страницу нет, желательно нажать на батон и завершить такой поток, но корректно Вопросы: - возможно ли это в принципе? с корректным освобождением ресурсов - если возможно, то как конкретно это сделать, желательно пример |
04.06.2013, 23:46 | #2 | |||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
Код:
Код:
Цитата:
Код:
Цитата:
! будет работать при соблюдении условия(требования) Цитата:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 04.06.2013 в 23:54. |
|||
05.06.2013, 00:33 | #3 |
Форумчанин
Регистрация: 30.10.2010
Сообщений: 524
|
Другими словами - никак! =)
Тоесть, без потери памяти можно остановить поток лишь тогда, когда вы в самой процедуре потока(Execute, наприм.) напишите условие что-то на подобе такого Код:
|
05.06.2013, 01:49 | #4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
еще есть поля потока и его деструктор с конструктором.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
TTHread, Как перезапустить поток, без его уничтожения? | Человек_Борща | Общие вопросы Delphi | 20 | 21.08.2012 09:26 |
Если остановился поток (TThread). Как перезапустить без потери памяти | Zuzlan | Общие вопросы Delphi | 9 | 01.02.2011 13:57 |
Пауза/продолжить поток TThread одной кнопкой | Человек_Борща | Общие вопросы Delphi | 3 | 29.10.2010 00:55 |
Как оповестить основной поток о каком-то событии в потоке (TThread)? | TwiX | Общие вопросы Delphi | 2 | 11.02.2010 02:57 |
Отобразить рабочий поток (TThread) | NervniiJ | Общие вопросы Delphi | 0 | 10.01.2010 17:34 |