![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#21 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
А я обычно прямо в конце execute пописываю освобождение памяти, ессно согласно той схемы что я показал в примере.
I'm learning to live...
|
![]() |
![]() |
![]() |
#22 |
Форумчанин
Регистрация: 21.01.2014
Сообщений: 389
|
![]() |
![]() |
![]() |
![]() |
#23 |
Форумчанин
Регистрация: 06.08.2009
Сообщений: 144
|
![]()
Ни в коем случае не делать инициализацию переменных и их освобождение в Execute!
Ибо, при определенных обстоятельствах, могут быть утечки памяти. Только в Create и Destroy! |
![]() |
![]() |
![]() |
#24 | |
Форумчанин
Регистрация: 21.01.2014
Сообщений: 389
|
![]() Цитата:
Например так? Код:
Последний раз редактировалось bilibian; 23.02.2014 в 18:37. |
|
![]() |
![]() |
![]() |
#25 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Я создаю перед циклом нужные мне объекты, а после цикла их освобождаю. Только так эта схема работает нормально. И при завершении потока принудительно обязательно использую WaitFor чтоб быть уверенным что все что поток на себя взял освободится. А то что ты хочешь сделать Как сказал STRELOK-2007 нельзя так просто. Я вообще не понимаю почему ты написал ThreadArray[i].FreeOnTerminate:=false;
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#26 |
Форумчанин
Регистрация: 21.01.2014
Сообщений: 389
|
![]()
Я бы с удовольствием написал FreeOnTerminate:=True; и не парился. Но в таком случае я буду уведомлен об ошибке Thread Error: Неверный дескриптор (6) с которой я не совсем понимаю как разобраться.
|
![]() |
![]() |
![]() |
#27 |
Форумчанин
Регистрация: 13.05.2010
Сообщений: 670
|
![]()
bilibian убедительная просьба, прочитай хотя бы эту стотью для начала http://forum.vingrad.ru/topic-60076.html что бы отпали многие вопросы, она всё ещё актуальна для новичков, там всё показано для начинающей работе с потоками/ Вот навскидку пример с многопоточностью/ Надеюсь 60% вопросов отпадёт
Последний раз редактировалось bulldog5293; 23.02.2014 в 19:44. |
![]() |
![]() |
![]() |
#28 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Почему-то у меня такой ошибки нет.
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#29 |
Форумчанин
Регистрация: 21.01.2014
Сообщений: 389
|
![]()
Еще бывает проблема, когда поток останавливается сам по себе. То есть он работает, работает, а потом внезапно исчезает. Например работает приложение в 5 потоков, через некоторое время, потоков уже 3. При этом свое задание они не выполнили. они просто остановились и все.
Каждый из потоков собирает инфу с сайта. В чем может быть дело? |
![]() |
![]() |
![]() |
#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 |