1.有没有办法知道线程的运行状态,是销毁了还是在运行?
2.线程销毁代码怎么写?
tlist[index].Free;
tlist[index].Destroy;这里运行到Destroy就报错了。3.在线程类里设置了FreeOnTerminate:=true;是不是就不需要手工销毁了。希望详细一点,多谢。
2.线程销毁代码怎么写?
tlist[index].Free;
tlist[index].Destroy;这里运行到Destroy就报错了。3.在线程类里设置了FreeOnTerminate:=true;是不是就不需要手工销毁了。希望详细一点,多谢。
2,不可能直接free或destroy吧。
3,FreeOnTerminate:=true,线程结束后,会自动释放
tlist[i] = nil不行啊。
不可能直接free或destroy吧。那要怎么做?
tList[index].Terminate;//终止线程
tList[index].WaitFor; //处理线程结束
tlist[index].Free; //销毁实例
tlist[index] := nil; //销毁指针这里运行到Destroy就报错了。
free了就不能destroy了,看看free的源码。3.在线程类里设置了FreeOnTerminate:=true;是不是就不需要手工销毁了。
答:是的希望详细一点,多谢。
你好,答的很好,看来不错。我还想问下。线程的MyThread.OnTerminate的事件处理程序要怎么写。
procedure ThreadCleanUp(i:integer);
...
MyThread.OnTerminate:=ThreadCleanUp(page.PageIndex);这样不行啊。要怎么写自己的clean-up代码。我是把所有运行的线程都放在tlist的数组中,参数i是必须的,不然没法知道是对哪个线程进行清除了。