Delphi 线程Thread释放的方式

Delphi 线程Thread释放的方式

Delphi 线程Thread释放的方式

1、线程的释放方式:

停止后 自动释放

手动停止后 自动释放

手动释放。

注意:如果线程已经停止并且自动释放,再去手动停止,就会报错。

2、代码示例:

2.1、停止后自动释放的线程(FreeOnTerminate := True;):

constructor TMyThread.Create;

begin

inherited Create( True );

FreeOnTerminate := True;

end;

procedure TMyThread.Execute;

begin

//功能代码

//此方法完成后线程就已经停止了

end;

2.2、手动停止后自动释放的线程:

constructor TMyThread.Create;

begin

inherited Create( True );

FreeOnTerminate := True;

end;

procedure TMyThread.Execute;

begin

while not Terminated do //not Terminated do

begin

//功能代码

end;

end;

procedure Test

begin

Thread1 := TMyThread.Create( Self );

Thread1.Terminate;

end;

2.3、手动释放的线程:

constructor TMyThread.Create;

begin

inherited Create( True );

end;

procedure TTestThread.Execute;

begin

while not Terminated do //not Terminated do

begin

//功能代码

end;

end;

procedure Test

begin

Thread1 := TMyThread.Create( Self );

Thread1.Terminate;

Thread1.WaitFor; //等待线程执行完成

Thread1.Free;

end;

创建时间:2020.07.31 更新时间:

清芳推荐

答疑君app
沙巴体育365体育网站

答疑君app

📅 08-18 👀 9774
焕怎么读
菠菜365哪个是真的

焕怎么读

📅 08-11 👀 6930
中国铁路的列车种类
菠菜365哪个是真的

中国铁路的列车种类

📅 07-12 👀 5796