<PackageReference Include="System.Reactive" Version="7.0.0-preview.1" />

IConcurrencyAbstractionLayer

public interface IConcurrencyAbstractionLayer
using System.ComponentModel; using System.Runtime.CompilerServices; namespace System.Reactive.Concurrency { [NullableContext(1)] [EditorBrowsable(EditorBrowsableState.Never)] public interface IConcurrencyAbstractionLayer { bool SupportsLongRunning { get; } IDisposable StartTimer([Nullable(new byte[] { 1, 2 })] Action<object> action, [Nullable(2)] object state, TimeSpan dueTime); IDisposable StartPeriodicTimer(Action action, TimeSpan period); IDisposable QueueUserWorkItem([Nullable(new byte[] { 1, 2 })] Action<object> action, [Nullable(2)] object state); void Sleep(TimeSpan timeout); IStopwatch StartStopwatch(); [NullableContext(2)] void StartThread([Nullable(new byte[] { 1, 2 })] Action<object> action, object state); } }