我做了一个线程,Execute中有一个循环,如下:
  while true do
  begin
    .....
    .....
  end;
循环没有结束条件,如果我想结束线程,用Terminate,结果不行,程序死了,我该怎样才能正确的结束该线程?

解决方案 »

  1.   

    flag:=true;
    while Flag do
      begin
        .....
        .....
      end;
    要结束,
    flag:=false;
      

  2.   

    while not self.Terminated do
    begin
      .....
      .....
    end;
    不好意思用马甲了
      

  3.   

    mythead.FreeOnTerminate:=true;试试!
      

  4.   

    在Execute中这样写
    mythead.FreeOnTerminate:=true;
    while Terminated do
      begin
        .....
        .....
      end;
    要结束的话,用MyThread。Terminate
      

  5.   

    while not Terminated do??