我在WIN2000系统下,在线程中用
我在线程的execute中代码用
while not terminate do
begin
//freeOnTerminated := false; //该句未用
end;
在主程序中用
FreeAndNil(rThread);
线程可以终止,再重新创建该同名线程不会有问题,但在WINXP系统就不可以
谁知道什么原因啊??
通常,若线程的execute中代码用
while not terminate do
begin
。。。。。
end;
时,FreeOnTerminated=true 有时在同步方面存在问题
我一般这么来 FreeOnTerminated:=false;
结束时
aaaa.Terminate;
aaaa.WaitFor; //保证线程执行完毕,已经退出了Execute过程
aaaa.Free;