DELPHI 用TThread如何判断线程是否存在 并且释放线程

 我来答
mit1208
2012-10-12 · TA获得超过2347个赞
知道大有可为答主
回答量:2743
采纳率:0%
帮助的人:1854万
展开全部
判断线程是否存在使用:
if Assigned(workthread) then
begin
//do work
end;

释放线程使用:
可以使线程对象自动释放,使用:workthread.FreeOnTerminate :=True;
如果想自己释放线程则应该先判断线程是否存在和是否结束然后再释放,使用:
if Assigned(workthread) and (not workthread.Finished) then
begin
//workthread.terminate; //停止线程
//workthread.suspended; //使线程暂停
以上两种都可以,如果使用Terminate则应该等待线程完全结束
workthread.Free; //释放线程
end;
追问
我做的是 LABEL的 CAPTION  每秒加1的刷新 用你的方法释放会报句柄错误
追答
给我你的邮箱,我简单的写个例子,发给你!
bambuz
2012-10-12 · TA获得超过168个赞
知道小有建树答主
回答量:329
采纳率:0%
帮助的人:315万
展开全部
通过线程 Handle 或ThreadID来识别线程, 通过 属性 Terminated 测试线程是否终止.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
半梦的看书亼
2012-11-18 · TA获得超过464个赞
知道小有建树答主
回答量:523
采纳率:0%
帮助的人:320万
展开全部
Thread.FreeOnTerminate := True; 时线程执行体结速就会自动释放
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liu55721
2012-10-12 · TA获得超过922个赞
知道大有可为答主
回答量:1861
采纳率:100%
帮助的人:875万
展开全部
线程和普通过程,并无二样,一段过程执行完毕后,它的使命也就完成了.无需释放销毁.
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式