假设有A,B两个线程,线程A在运行,如果满足条件让线程B运行,不满足不运行。如何让线程B根据线程A的状况挂起和启用呢?不想每次都new一个新的线程。

解决方案 »

  1.   

    就是线程同步,用event去触发
      

  2.   

                    while (bStopFlg == false)
                    {
                        try
                        {
                            if (canDo == true)
                            {
                                DoAction();
    canDo = false;
                            }
                            Thread.Sleep(10);
                        }
                        catch (Exception ex)
                        {
                            logger.WriteErrLogWithTime(ex.ToString(), ex);
                        }在另一个线程里如果符合条件了就设置canDo = true;
      

  3.   

    ManualResetEvent 控制线程 使用这些Reset(),Set(),WaitOne()可以达到你想要的