我想在buttonStart.click里创建5个线程MyThread,用于并行处理5个串口收到的数据,并且并行地对5个目标进行控制,而且控制过程分为两个阶段,五个线程执行的结束条件是被控制的目标都到达了预定的状态,在线程都结束也就是目标都到达预定状态之后,将进行下一步的操作。为此,我在MyThread里用两个repeat..until来实现,每个repeat..until可能持续较长时间,不知道这样是否可行?

解决方案 »

  1.   

    在线程的repeat...until的循环体中加上Sleep(1)就行了。
      

  2.   

    在线程都结束也就是目标都到达预定状态之后,将进行下一步的操作,是用WaitFor好呢?还是PostMessage给frmMain,让frmMain.HandleMessage去判断是不是所有线程都结束了?
      

  3.   

    TThread有个OnTerminate事件, 你可以利用它。
      

  4.   

    可以用 但是每次收到数据后要sleep(2)
      

  5.   

    sleep也就是线程等待
    线程同步也是你需要的