public void Start() { DisposableExtesions.TryDispose(_Runner); _Runner = (_ScheduledTasks) .Synchronize() .ObserveLatestOn(new NewThreadScheduler()) .Subscribe(t => OnException.Continue(t.RunSynchronously)); }
public void Start() { DisposableExtesions.TryDispose(_Runner); // Synchronize forces a buffer so that only one event is published to the Observer at a time, and the Observer runs the task synchrnously from start to finish. _Runner = _ScheduledTasks .Synchronize() .Subscribe(t => OnException.Continue(t.RunSynchronously)); }
public void Stop() { DisposableExtesions.TryDispose(_Runner); }