为何我的线程不自动释放?(20分)

  • 主题发起人 主题发起人 xieyanan1992
  • 开始时间 开始时间
X

xieyanan1992

Unregistered / Unconfirmed
GUEST, unregistred user!
我每个线程都用了WaitForSingleObject等待它执行完
也设定了FreeOnTerminate
怎么每次执行完之后 任务管理器里面还显示我的程序有很多线程(执行之前是1)
如何处理?
 
不太明白ls的意思,FreeOnTerminate是tthread的属性,既然用这个,为什么要用
WaitForSingleObject呢?下面的运行良好!不知道有用不!
/////////////////////////////////////////////////
Tm=class(tthread)
public
procedure Execute;override;
end;
var
t:tm;
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
t.Terminate;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
t:=tm.Create(false);
//t.FreeOnTerminate:=true;
end;

{ Tm }

procedure Tm.Execute;
begin
inherited;
while (not t.Terminated)do
begin
sleep(100)
end;
end;
 
接受答案了.
 
后退
顶部