|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Потоки, уничтожить после выполнения кода
Здравствуйте!
допустим я создал поток, и хочу, что бы после выполнения кода в нём, он сам уничтожился. К примеру есть поток, в нём цикл... В цикле запросы к вк апи. Нужно что бы после выполнения этого цикла, поток сам себя фришнул. Как мне это сделать? Дописать в теле потока, после цикла Поток.FreeOnTerminate := True; ? Объясните, пожалуйста. |
#2
|
|||
|
|||
freeOnterminate устанавливается при создании потока. Тогда, как только Execute потока будет выполнен, то поток сам "убъется". Как то так:
Код:
var t : TMyThread; begin t := TMyThread.Create(True); t.FreeOnTerminate := True; t.Resume; end; // В потоке: procedure TMyThread.Execute; var I : Integer; begin For I := 1 to 10 Do // DoSomething(I) end; |
Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
Tech N9ne (30.01.2019)
|
#3
|
|||
|
|||
Цитата:
а еще вопрос в догонку, допустим запускаю поток по кнопке.. если я два раза подряд нажму на кнопку(double click), создастся 2 потока, или один и тот же поток начнет работу заного? Или ... ?)) |
#4
|
|||
|
|||
Создастся 2 потока.
|
Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
Gareth (25.02.2020)
|