/// <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); }
/// <summary> /// 添加进入操作还未执行队列 /// </summary> /// <param name="mOperator"></param> public void AddOpeator(AsynOperator mOperator) { lock (mQueueOperatorLock) { this.mQueueOperators.Add(mOperator); } }
/// <summary> /// 添加进入操作已经执行完成的队列 /// </summary> /// <param name="mOperator"></param> public void AddDoneOpeator(AsynOperator mOperator) { lock (mDoneOperatorLock) { this.mDoneOperators.Add(mOperator); } }
/// <summary> /// 执行操作 /// </summary> /// <param name="mOperator"></param> protected void ExecuteOperator(AsynOperator mOperator) { // 执行开始操作 mOperator.Start(); // 扔到任务队列中 ThreadPool.QueueUserWorkItem(new WaitCallback(DoOperator), mOperator); }