解决方案 »

  1.   

    既然你使用线程去执行任务,那么你随后的工作就注册给线程去执行就行了。刷新 UI 的工作是线程里边去调用类似Control.BeginInvoke( RefreshMethod );这样的异步方法来做的。而你的父线程,用不着去“死等”什么子线程结束状态。
      

  2.   


    我相信在你的概念中的“callback事件”根本不是事件,而仍然是延续你的“死等线程返回某个标志”的概念。callback 就是异步调用的概念,这个callback即可能在当前父线程中执行,也可能在子线程中执行,但是当前父线程的编程中绝不再去纠结它了。绝不是想去等待它。如果你画个流程图(或者时序图)能够把异步调用方法的流程画对,才算是理解了“callback事件”(其实这是两个不同的概念,暂且放在一起)。从你的意识上看,你没有把异步委托调用的基本流程搞明白。
      

  3.   


    我相信在你的概念中的“callback事件”根本不是事件,而仍然是延续你的“死等线程返回某个标志”的概念。callback 就是异步调用的概念,这个callback即可能在当前父线程中执行,也可能在子线程中执行,但是当前父线程的编程中绝不再去纠结它了。绝不是想去等待它。如果你画个流程图(或者时序图)能够把异步调用方法的流程画对,才算是理解了“callback事件”(其实这是两个不同的概念,暂且放在一起)。从你的意识上看,你没有把异步委托调用的基本流程搞明白。
    搞明白就不来问了,朋友请回答和问题有关话题的就OK了好吗?
      

  4.   

    应该是当前的委托代理的方法.BeginInvoke 请求开始异步任务,
     线程池也是这么玩的?