如何知道一个线程结束了?假设:
for i:=0 to 99 do
  myThread:=TThread.Create(False);如何知道最后一个线程执行完了!!!??

解决方案 »

  1.   

    published
       destructor Destroy; override;destructor TThreadQuery.Destroy;//线程在自动销毁执行.......
    begin
       PostMessage(xFrm.Handle,wm_ThreadDoneMsg,0,0);
       inherited destroy;       //用PostMessage函数可以告诉调用者,线程相关性的消息。如线程标识....
    end;在线程结束时,采PostMessage函数告诉调用的窗体一个消息,结束了.
    然后你再捕获这window消息
      

  2.   

    Wait Functions
    WaitForMultipleObjects
    WaitForSingleObject
      

  3.   

    Delphi有个自带的线程例子:
    \program files\Borland\Delphi6\Help\Examples\Prgrsbar\弄个计数,收到一个消息+1,到100就知道执行完了。
      

  4.   

    WaitForMultipleObjects用于判断现在结束的是哪个线程.
      

  5.   

    强烈同意 sysu(死树)!!
    有问题请发信息到我的E-mail:[email protected]
      

  6.   

    很简单:
      在创建时,给线程一个ID,
      在结束时,PostMessage返回一个ID,然后判断window消息中ID数