有这么个问题,我设置一个记录数组,作为命令队列,我把系统所要执行的各种命令都填加到这个队列中,然后由另外一个始终运行的线程来执行,现在的问题是:
1、我如何保持一个线程始终在运行,命令队列中有数据就执行,无数据就处于监视状态,
2、 我在其他地方会对这个命令队列进行修改,修改后的数据怎么传回给这个执行线程我这个只是一个想法,不一定非要用线程来实现,如果有其他方法能解决这个问题也行

解决方案 »

  1.   

    把系统所要执行的各种命令都填加到这个队列中
    可以用ActionList
      

  2.   

    我作一门票系统,作法是不停地防问一队列,直到有指令通知终止
    其实与你的要求差不多
    procedure c_thrdownoneticket.Execute;
    var
      ...      //定义临时参数
    begin  ...     
      repeat
         if vgb_downonetok then  //一条队列指令处理完成标识
         begin
            ...      //你访问队列及处理
         end;  until vpb_finish;  //全局变量,作为线程终止标识
    end;
      

  3.   

    哦,别忘了在你进行事务处理最后加上线程暂停语句,或干脆sleep(200)