刚学习多线程编程不久,运到些问题。特此向前辈们讨教!是这样的,当线程中的代码运行完毕,处于终止状态。但我并不释放掉线程。创建线程代码
procedure TForm1.FormCreate(Sender: TObject);
begin
MyThread := TMyThread.Create(True); //创建挂起状态
MyThread.FreeOnTerminate := False ; //线程运行完毕不释放掉线程
MyThread.OnTerminate := OnTerminate; //把OnTerminate过程赋给线程运行完毕触发的OnTerminate事件
end;procedure TForm1.OnTerminate(Sender :Tobject);
begin
MyThread.Suspended := True ; //在这里我把线程处于挂起状态
end ;但是我在用 MyThread.Resume 唤醒线程,但是发现没执行线程里的代码!
所以我的疑惑就在这里。运行完毕的线程还能唤醒吗?、
请高手们指点下!O(∩_∩)O谢谢!
procedure TForm1.FormCreate(Sender: TObject);
begin
MyThread := TMyThread.Create(True); //创建挂起状态
MyThread.FreeOnTerminate := False ; //线程运行完毕不释放掉线程
MyThread.OnTerminate := OnTerminate; //把OnTerminate过程赋给线程运行完毕触发的OnTerminate事件
end;procedure TForm1.OnTerminate(Sender :Tobject);
begin
MyThread.Suspended := True ; //在这里我把线程处于挂起状态
end ;但是我在用 MyThread.Resume 唤醒线程,但是发现没执行线程里的代码!
所以我的疑惑就在这里。运行完毕的线程还能唤醒吗?、
请高手们指点下!O(∩_∩)O谢谢!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货