delphi创建了多线程后,要想在执行完成后自动释放所用的资源,可以在构造函数Constructor里指定
线程结束时的执行事件,OnTerminate:=FinishedEvent;这样,当一个线程运行完成后,就会自动调用
这个过程,当然,在构造函数里还必须先有这两句:inherited Create(CreateSuspended);
FreeOnTerminate := true;让它自动结束,然后在指定的过程里设置该线程指向nil即可:用下面两句:
MyThread.Terminate;MyThread:=nil;要释放特定的资源,可以在Destroy事件里进行,如,使用了数据
库,可以在Destroy里先关闭数据集,再断开连接即可,这里好像先执行的是Destroy,然后再执行指定的
过程,如果顺序反了的话,可能引起不定的错误!
线程结束时的执行事件,OnTerminate:=FinishedEvent;这样,当一个线程运行完成后,就会自动调用
这个过程,当然,在构造函数里还必须先有这两句:inherited Create(CreateSuspended);
FreeOnTerminate := true;让它自动结束,然后在指定的过程里设置该线程指向nil即可:用下面两句:
MyThread.Terminate;MyThread:=nil;要释放特定的资源,可以在Destroy事件里进行,如,使用了数据
库,可以在Destroy里先关闭数据集,再断开连接即可,这里好像先执行的是Destroy,然后再执行指定的
过程,如果顺序反了的话,可能引起不定的错误!