internal void Invoke()
 {
     //避免发生超时的回调代码与这个方法同时执行。这里表示要做这件事,超时的则在说不要做了。
     lock (locker)
     {
         mtask.Cancel();
         action?.Invoke();
     }
 }
Example #2
0
        public void Task_Cancelled()
        {
            var num = new MInt(5);
            var a   = new MTask((t) => num.Value == 4);

            a.OnComplete += () => { num.Value = 2; };
            a.OnEnd      += () => { num.Value = 3; };
            a.Cancel();

            Assert.That(num.Value == 3);
        }
 internal void Cancel()
 {
     mtask?.Cancel();
 }