A future is an abstraction for a value that may
available at some point in the future. A future can either be
unresolved
or resolved
, a state which can be checked
with resolved()
. As long as it is unresolved, the
value is not available. As soon as it is resolved, the value
is available via value()
.
Future(expr = NULL, envir = parent.frame(), substitute = FALSE,
globals = NULL, packages = NULL, seed = NULL, lazy = FALSE,
local = TRUE, gc = FALSE, earlySignal = FALSE, label = NULL, ...)
An R expression.
The environment in which the evaluation
is done (or inherits from if local
is TRUE).
If TRUE, argument expr
is
substitute()
:ed, otherwise not.
(optional) a named list of global objects needed in order for the future to be resolved correctly.
(optional) a character vector specifying packages to be attached in the R environment evaluating the future.
(optional) A L'Ecuyer-CMRG RNG seed.
If FALSE
(default), the future is resolved
eagerly (starting immediately), otherwise not.
If TRUE, the expression is evaluated such that all assignments are done to local temporary environment, otherwise the assignments are done to the global environment of the R process evaluating the future.
If TRUE, the garbage collector run (in the process that evaluated the future) after the value of the future is collected. Some types of futures ignore this argument.
Specified whether conditions should be signaled as soon as possible or not.
An optional character string label attached to the future.
Additional named elements of the future.
An object of class Future
.
A Future object is itself an environment.
One function that creates a Future is future()
.
It returns a Future that evaluates an R expression in the future.
An alternative approach is to use the %<-%
infix
assignment operator, which creates a future from the
right-hand-side (RHS) R expression and assigns its future value
to a variable as a promise.