<PackageReference Include="System.Reactive" Version="4.4.1" />

ISchedulerLongRunning

public interface ISchedulerLongRunning
Scheduler with support for starting long-running tasks. This type of scheduler can be used to run loops more efficiently instead of using recursive scheduling.
using System.Reactive.Disposables; namespace System.Reactive.Concurrency { public interface ISchedulerLongRunning { IDisposable ScheduleLongRunning<TState>(TState state, Action<TState, ICancelable> action); } }