一个很菜的问题,线程需要释放吗?

linx88 2002-04-20 11:13:09
type
TpainterThread=class(TThread)
protected
procedure Execute;override;
private
threadaguge:integer;
public

end;
tpainterthread.Create(false);

它的OnTerminate事件有什么用呢?
...全文
81 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
linx88 2002-04-23
  • 打赏
  • 举报
回复
有人在吗?
linx88 2002-04-22
  • 打赏
  • 举报
回复
to all
能不能举个释放的例子呢?建立的线程对象是个局部变量,怎么释放?
什么时候使用FreeOnTerminate:=true来让对象自动释放呢?

wylove 2002-04-21
  • 打赏
  • 举报
回复
一般新手在使用时,还是使用线程对象的FreeOnTerminate:=true来让对象自动释放,以避免不必要的内存浪费!
suvi 2002-04-21
  • 打赏
  • 举报
回复
delphi线程有两种模式,FreeOnTerminate = True时,你就不用释放了,因为线程执行完后是自动free的,这是如果你再调用这个线程变量的话会出错的。
另一种是FreeOnTerminate=false,线程执行完后会放在那,你可以调用这个线程中的变量和函数,但是不能再resume了。这个是要手动释放的。

另外,Onterminate是线程执行完后主程序要做的事,执行空间在主线程里(或者说是在调用线程的空间里)。OnTerminate里最好不要使用释放当前线程的语句,因为OnTerminate执行完后会返回到这个线程的
ihihonline 2002-04-21
  • 打赏
  • 举报
回复
线程是要释放的;
OnTerminate是结束这个线程
zengting2002 2002-04-20
  • 打赏
  • 举报
回复
根据现在水平,不释放也没什么。内存空间多着那。

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧