|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
23.02.2014, 17:49 | #21 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
А я обычно прямо в конце execute пописываю освобождение памяти, ессно согласно той схемы что я показал в примере.
I'm learning to live...
|
23.02.2014, 18:02 | #22 |
Форумчанин
Регистрация: 21.01.2014
Сообщений: 389
|
|
23.02.2014, 18:09 | #23 |
Форумчанин
Регистрация: 06.08.2009
Сообщений: 144
|
Ни в коем случае не делать инициализацию переменных и их освобождение в Execute!
Ибо, при определенных обстоятельствах, могут быть утечки памяти. Только в Create и Destroy! |
23.02.2014, 18:20 | #24 | |
Форумчанин
Регистрация: 21.01.2014
Сообщений: 389
|
Цитата:
Например так? Код:
Последний раз редактировалось bilibian; 23.02.2014 в 18:37. |
|
23.02.2014, 18:54 | #25 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Я создаю перед циклом нужные мне объекты, а после цикла их освобождаю. Только так эта схема работает нормально. И при завершении потока принудительно обязательно использую WaitFor чтоб быть уверенным что все что поток на себя взял освободится. А то что ты хочешь сделать Как сказал STRELOK-2007 нельзя так просто. Я вообще не понимаю почему ты написал ThreadArray[i].FreeOnTerminate:=false;
I'm learning to live...
|
|
23.02.2014, 19:01 | #26 |
Форумчанин
Регистрация: 21.01.2014
Сообщений: 389
|
Я бы с удовольствием написал FreeOnTerminate:=True; и не парился. Но в таком случае я буду уведомлен об ошибке Thread Error: Неверный дескриптор (6) с которой я не совсем понимаю как разобраться.
|
23.02.2014, 19:30 | #27 |
Форумчанин
Регистрация: 13.05.2010
Сообщений: 670
|
bilibian убедительная просьба, прочитай хотя бы эту стотью для начала http://forum.vingrad.ru/topic-60076.html что бы отпали многие вопросы, она всё ещё актуальна для новичков, там всё показано для начинающей работе с потоками/ Вот навскидку пример с многопоточностью/ Надеюсь 60% вопросов отпадёт
Последний раз редактировалось bulldog5293; 23.02.2014 в 19:44. |
23.02.2014, 19:34 | #28 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Почему-то у меня такой ошибки нет.
I'm learning to live...
|
|
23.02.2014, 19:46 | #29 |
Форумчанин
Регистрация: 21.01.2014
Сообщений: 389
|
Еще бывает проблема, когда поток останавливается сам по себе. То есть он работает, работает, а потом внезапно исчезает. Например работает приложение в 5 потоков, через некоторое время, потоков уже 3. При этом свое задание они не выполнили. они просто остановились и все.
Каждый из потоков собирает инфу с сайта. В чем может быть дело? |
23.02.2014, 20:04 | #30 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Еще раз повторюсь: Сам по себе поток не может лажать. Если он как-то не так работает, значит автор программы чего-то не предусмотрел. Но чего - известно только автору.
I'm learning to live...
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создание нескольких потоков | iKarma | Общие вопросы Delphi | 9 | 20.10.2011 18:11 |
Запуск нескольких потоков | bulldog5293 | Общие вопросы Delphi | 3 | 11.11.2010 18:24 |
Как реализовать запуск и контроль нескольких однотипных потоков. | Son | Общие вопросы Delphi | 5 | 29.04.2010 08:40 |
Работа с файлом из нескольких потоков | boris-blade | Общие вопросы .NET | 2 | 02.04.2010 17:21 |
Запуск потоков в цикле | VALERO | Общие вопросы Delphi | 11 | 01.03.2009 14:57 |