在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
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 更新时间:
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论