R resun Unregistered / Unconfirmed GUEST, unregistred user! 2002-11-13 #4 constructor TSgFilter.create (sparent:HWND;listbox:Tlistbox); begin Freeonterminate:=true; inherited Create(false); end;
constructor TSgFilter.create (sparent:HWND;listbox:Tlistbox); begin Freeonterminate:=true; inherited Create(false); end;
张 张无忌 Unregistered / Unconfirmed GUEST, unregistred user! 2002-11-13 #5 或者把FreeOnTerminate:=false; AThread.Terminate; AThread.WaitFor; AThread.Free;
L ludao Unregistered / Unconfirmed GUEST, unregistred user! 2003-04-15 #6 无忌,这样释放线程是否会影响程序性能?比如,我的程序正在频繁读写数据库,偶尔有 一个线程写数据库的时候异常了(并不是线程本身异常),导致该线程假死,似乎是停在 那里了。 这时,我想强行释放该线程,但我这样释放线程的话,似乎很影响其他正在运行的线程! 有没有解决办法?谢谢!
无忌,这样释放线程是否会影响程序性能?比如,我的程序正在频繁读写数据库,偶尔有 一个线程写数据库的时候异常了(并不是线程本身异常),导致该线程假死,似乎是停在 那里了。 这时,我想强行释放该线程,但我这样释放线程的话,似乎很影响其他正在运行的线程! 有没有解决办法?谢谢!
远 远帆 Unregistered / Unconfirmed GUEST, unregistred user! 2003-04-15 #7 “似乎很影响其他正在运行的线程”怎么会影响其它线程呢?是用了信号量或其它锁定方法 还是有线程共享变量?
张 张无忌 Unregistered / Unconfirmed GUEST, unregistred user! 2003-04-15 #8 你设置一个超时,简单的办法是用一个TIMER,超过一个时间可以关闭数据库, 让读数据库的线程出现异常,这个时候就会触发VCL的异常捕获,从而线程退 出释放资源。