Пример #1
0
 /// <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);
     }
 }
Пример #2
0
        /// <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();
            }
        }