internal void Invoke() { //避免发生超时的回调代码与这个方法同时执行。这里表示要做这件事,超时的则在说不要做了。 lock (locker) { mtask.Cancel(); action?.Invoke(); } }
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(); }