12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.Text;
- using System.Threading;
- namespace UniRx
- {
- public static partial class Scheduler
- {
- public static readonly IScheduler Immediate = new ImmediateScheduler();
- class ImmediateScheduler : IScheduler
- {
- public ImmediateScheduler()
- {
- }
- public DateTimeOffset Now
- {
- get { return Scheduler.Now; }
- }
- public IDisposable Schedule(Action action)
- {
- action();
- return Disposable.Empty;
- }
- public IDisposable Schedule(TimeSpan dueTime, Action action)
- {
- var wait = Scheduler.Normalize(dueTime);
- if (wait.Ticks > 0)
- {
- Thread.Sleep(wait);
- }
- action();
- return Disposable.Empty;
- }
- }
- }
- }
|