gpt4 book ai didi

multithreading - 正确的线程销毁

转载 作者:行者123 更新时间:2023-12-03 15:03:21 27 4
gpt4 key购买 nike

你好在我的表单中,我在运行时创建 TFrame。在此框架中,我创建后台线程并在无限循环中执行命令。但是当我销毁这个框架时,我应该销毁这个线程。我尝试一下

thread.Suspend;
thread.Terminate;
FreeAndNil(thread);

但是得到 AV 和 ThreadError。我应该如何销毁线程?

最佳答案

您必须确保线程退出其 Execute 方法才能正确终止它。

代码可能是这样的:

procedure TThread.Execute;
begin
while not Self.Terminated do
begin
//do something
end;
end;

当你想销毁线程时调用这个:

thread.Terminate;
thread.WaitFor;
FreeAndNil(thread);

关于multithreading - 正确的线程销毁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3788743/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com