Exemplo n.º 1
0
        private void Start(long dueTime)
        {
            if (dueTime < -1)
            {
                throw new ArgumentOutOfRangeException(nameof(dueTime));
            }

            _startTime  = ThreadingHelper.Milliseconds(ThreadingHelper.TicksNow());
            _targetTime = dueTime == -1 ? -1 : _startTime + dueTime;
            _wrapped    = Timer.GetTimer(Finish, TimeSpan.FromMilliseconds(dueTime), TimeSpan.FromMilliseconds(-1));
        }
Exemplo n.º 2
0
        private void Start(long dueTime)
        {
            if (dueTime < -1)
            {
                throw new ArgumentOutOfRangeException(nameof(dueTime));
            }

            if (Interlocked.CompareExchange(ref _status, _started, _created) == _created)
            {
                _startTime  = ThreadingHelper.Milliseconds(ThreadingHelper.TicksNow());
                _targetTime = dueTime == -1 ? -1 : _startTime + dueTime;
                _wrapped    = Timer.GetTimer(Finish, TimeSpan.FromMilliseconds(dueTime), TimeSpan.FromMilliseconds(-1));
            }
        }
Exemplo n.º 3
0
 protected void Start(long dueTime)
 {
     if (dueTime < -1)
     {
         throw new ArgumentOutOfRangeException(nameof(dueTime));
     }
     _startTime = ThreadingHelper.Milliseconds(ThreadingHelper.TicksNow());
     if (dueTime == -1)
     {
         _targetTime = -1;
     }
     else
     {
         _targetTime = _startTime + dueTime;
     }
     _wrapped = Timer.GetTimer(Finish, TimeSpan.FromMilliseconds(dueTime), TimeSpan.FromMilliseconds(-1));
 }