我有10个线程一起工作。启动线程后,15秒后所有线程在完成任务之前退出,并且只剩下一个线程。如何防止我的线程在工作完成之前退出?
我的代码:
procedure TForm1.Button2Click(Sender: TObject);
begin
AA;
BB;
CC;
DD;
EE;
FF;
GG;
HH;
II;
JJ;
end;
procedure TForm1.AA; //same procedure for BB,CC,DD,EE.FF,JJ,HH,II,JJ
begin
lHTTP := TIdHTTP.Create(nil);
TTask.Create(Procedure
try
//HTTP Opertations
finally
end;
end).Start;
end;
注意,我不能Free
的HTTP组件,因为如果我这样做,我得到的AV,我不知道该如何调试它,在正确地释放它的码?但是,如果没有释放它,代码运行良好,但线程退出。正如道奇先生所说,这可能是问题所在。
那么,你到底在问什么? – MartynA
当线程代码完成时,线程被销毁。如果你想让你的线程永远活着,你需要在它内部运行一个无限循环。 – Johan
但是线程代码仍然没有完成,线程存在@Johan – Thunderx