/// <summary> /// 释放异步委托资源 /// </summary> private void ReleaseResource() { try { PartAsynUIParaProxy.UnLock(this._asynWaitPara); this._asynWaitPara.AsynWait.CanceledNotify -= CancellExcute; this._asynWaitPara.AsynWait.StopAnimation(); AsynExcuteCancellHelper.RemoveAsynExcuteCancell(this); this._asynExcuteThreadCts.Dispose(); this._asynExcuteThreadCts = null; this.PrimitiveReleseResource(); } catch (Exception ex) { Loger.Error(ex); } }
/// <summary> /// 启动执行线程 /// </summary> protected void StartAsynExcuteThread() { lock (this._excuteCompletedLock) { AsynExcuteCancellHelper.AddAsynExcuteCancell(this); this._excuteCompleted = false; //取消执行委托 this._asynWaitPara.AsynWait.CanceledNotify += CancellExcute; //启动滚动条动画 this._asynWaitPara.AsynWait.StartAnimation(); this._asynExcuteThreadCts = new CancellationTokenSource(); this._asynExcuteThread = new Thread(this.AsynExcuteThreadMethod); this._asynExcuteThread.IsBackground = true; this._asynExcuteThread.Name = "UI异步执行线程"; this._asynExcuteThread.Start(); } }