예제 #1
0
 public void Attach(TimedEventQueue parent)
 {
     lock (this) {
         _parent = parent;
         if (Count > 0)
         {
             _parent.Add(FindMin().Time, Run);
         }
     }
 }
예제 #2
0
        public void Detach()
        {
            lock (this) {
                if (_parent == null)
                {
                    return;
                }

                var list = _parent.Where(e => e.Callback == Run)
                           .Select(e => e.Handle)
                           .ToList();
                foreach (var eHandle in list)
                {
                    _parent.Delete(eHandle);
                }

                _parent = null;
            }
        }
예제 #3
0
 public TimedEventQueue(TimedEventQueue parent)
 {
     _parent = parent;
 }