Package swim.concurrent
Timers
A TimerFunction represents a function to invoke at a scheduled
time. Scheduling a timer yields a TimerRef, which can be used to
check the status of the timer, to reschedule it, and to cancel it. A Timer represents a stateful TimerFunction, with lifecycle callbacks,
and a TimerContext that enables self-management.
Tasks
A TaskFunction represents a function to invoke as a sequential
process in a concurrent environment. Registering a task yields a TaskRef, which is used to cue the task for execution. A Task
represents a stateful TaskFunction, with lifecycle callbacks, and a
TaskContext that enables self-management. A Task is like a
primitive actor that
lacks a builtin mailbox.
Cont
A Cont represents the continuation of an asynchronous operation.
Cont has factory functions to construct various Continuation
combinators. Sync implements a synchronous Continuation that
continues the current thread of execution after an asynchronous operation
completes.
Calls
A Call provides a handle used to eventually complete an
asynchronous operation by invoking a Continuation. Although a
Continuation can be completed directly, by invoking bind(T), or Cont.trap(Throwable), completeing a
Continuation through a Call abstracts over the execution
context in which the Continuation runs. For example, a Call
returned by Stage.call(Cont) invokes its bound Continuation
in an asynchronous task, preventing unbounded stack growth from occurring
when chaining large numbers of Continuations together.
Schedules
A Schedule arranges for the on-time execution of timers. Clock implements a Schedule algorithm that efficiently scales to
large numbers of timers.
Stages
A Stage concurrently executes sequential tasks. Theater
implements an execution Stage backed by a ForkJoinPool.
-
ClassDescriptionSkeletal implementation of a stateful
Task.Skeletal implementation of a statefulTimer.Call<T>Handle used to eventually complete an asynchronous operation by invoking aContinuation.Hashed wheel timerSchedule.Cont<T>Continuation of an asynchronous operation.Used to trap a continuation when aPullRequestdrops.Stagethat can be started and stopped.Function interface that callers can optionally invoke concurrently.PullContext<T>PullRequest<T>PushRequest<T>Timetable for executing timers at their scheduled times.Marker interface for aScheduledefinition.Thrown when aScheduleencounters an error.Stagewrapper that prevents its underlying stage from being started and stopped.An execution context in which to schedule tasks, create continuation calls, and set timers.Marker interface for aStagedefinition.Stay<T>Backpressure aware continuation.Source that can delay continuations.Sync<T>AContinuation whose completion can be synchronously awaited.Thrown when awaiting aSynccontinuation times out.StatefulTaskFunctionto invoke as a sequential process on a concurrent executionStage, with lifecycle callbacks, and aTaskContextfor self-management.Thrown when performing an invalid operation on aTaskFunction.Function to invoke as a sequential process on a concurrent executionStage.External handle to aTaskFunctionbound to an executionStage.Stagethat executes timers, tasks, and continuations on aForkJoinPool.StatefulTimerFunctionto invoke at a scheduled time, with lifecycle callbacks, and aTimerContextfor self-management.Thrown when performing an invalid operation on aTimerFunction.Function to invoke at a scheduled time.External handle to aTimerFunctionbound to aSchedule.