Ejemplo n.º 1
0
    /// <summary>
    /// 添加操作
    /// </summary>
    /// <param name="mOperator"></param>
    /// <param name="mAsynType"></param>
    public void AddOperator(AsynOperator mOperator, AsynType mAsynType = AsynType.AT_NoOrder)
    {
        mOperator.AsynType = mAsynType;
        if (mOperator.AsynType < AsynType.AT_NoOrder || mOperator.AsynType >= AsynType.AT_Max)
            return;

        this.mAsynQueue[(int)mOperator.AsynType].AddOpeator(mOperator);
    }
Ejemplo n.º 2
0
 /// <summary>
 /// 添加进入操作还未执行队列
 /// </summary>
 /// <param name="mOperator"></param>
 public void AddOpeator(AsynOperator mOperator)
 {
     lock (mQueueOperatorLock)
     {
         this.mQueueOperators.Add(mOperator);
     }
 }
Ejemplo n.º 3
0
 /// <summary>
 /// 添加进入操作已经执行完成的队列
 /// </summary>
 /// <param name="mOperator"></param>
 public void AddDoneOpeator(AsynOperator mOperator)
 {
     lock (mDoneOperatorLock)
     {
         this.mDoneOperators.Add(mOperator);
     }
 }
Ejemplo n.º 4
0
    /// <summary>
    /// 执行操作
    /// </summary>
    /// <param name="mOperator"></param>
    protected void ExecuteOperator(AsynOperator mOperator)
    {
        // 执行开始操作
        mOperator.Start();

        // 扔到任务队列中
        ThreadPool.QueueUserWorkItem(new WaitCallback(DoOperator), mOperator);
    }