Scheduler that synchronously executes code on the current thread
CurrentThreadScheduler executes tasks on the current threads. This means that method cue blocks until the code has finished executing.
CurrentThreadScheduler does role Scheduler, which provides the following routines:
method uncaught_handler() is rw
RW-Accessor for the handler that is caught for uncaught exceptions from the code that is being scheduled and run.
method cue(, Instant :, :, :, : = 1; : --> Cancellation)
Schedules a callable (
&code) for execution and returns an instantiated
Cancellation object to cancel the scheduling of the code for execution (which is especially important if you specify the
every = time> named parameter. The adverbs control when and how the code is run:
$at can be an Instant before which the code won't be run. Alternatively
$in is the number of seconds (possibly fractional) to wait before running the code. If
$at is in the past or
$in is negative, the delay is treated as zero. Implementations may equate to zero very small values (e.g. lower than 0.001s) of
$in or result of
$at - now.
$every is specified, it is interpreted as the number of seconds (possibly fractional) to wait before re-executing the code. Implementations may treat too-small values as lowest resolution they support, possibly warning in such situations; e.g. treating
$times tells the scheduler how many times to run the code.
&catch is called with the Exception as its sole argument if
One should call the
cancel method on the returned
Cancellation object to cancel the (possibly repeated) cueing of the code.