Skip to content

ReactiveUI.Primitives.Concurrency namespace

Part of the ReactiveUI.Primitives package.

TypeKindSummary
CurrentThreadSequencerclassA sequencer that schedules work on the current thread using a trampoline queue.
HandlerSequencerclassAndroid sequencer that coalesces scheduled work onto the thread backing a [Handler](# (typically the main/UI looper). Immediate work is batched through a single cached IRunnable drain, so the per-post path allocates nothing; delayed work uses the native PostDelayed.
ISequencerinterfaceRepresents an object that schedules units of work.
ImmediateSequencerclassA sequencer that executes work immediately on the calling thread.
NSRunloopSequencerclassApple sequencer that coalesces scheduled work onto the main DispatchQueue (the UI thread on iOS, tvOS, Mac Catalyst, and macOS). Immediate work is batched through a single cached DispatchBlock drain, so the per-post path allocates nothing; delayed work uses DispatchAfter.
ScheduledItemclassCreates materialized [ScheduledItem](# work items from a sequencer, state, and action.
SequencerclassProvides built-in sequencers for scheduling work over time.
SequencerExtensionsclassScheduling extension operators for an [ISequencer](#
SynchronizationContextSequencerclassSequencer that posts work through a SynchronizationContext.
TaskPoolSequencerclassA sequencer that schedules work on the task pool.
ThreadPoolSequencerclassA sequencer that schedules work on the thread pool.
VirtualClockclassDeterministic virtual scheduler backed by DateTimeOffset and TimeSpan.
VirtualTimeSequencerclassVirtual time scheduler that runs scheduled work against a controllable clock. Per-clock arithmetic is supplied as delegates at construction, so a single sealed type serves every TAbsolute/ TRelative pairing without an inheritance hierarchy.
VirtualTimeSequencerExtensionsclassProvides a set of extension methods for virtual time scheduling.
WasmSequencerclassTask-pool replacement for single-threaded event-loop runtimes such as browser WebAssembly: it never starts threads and never blocks. Immediate work is batched one drain per event-loop turn through a zero-due timer (a setTimeout(0) macrotask on WebAssembly, so the browser can render between batches); delayed work uses the shared timer, which the WebAssembly runtime backs with the JS event loop.