do_parallel | R Documentation |
This brick encapsulates the activity of n
workers running parallel
sub-trajectories.
do_parallel(.trj, ..., .env, wait = TRUE, mon_all = FALSE)
.trj |
the trajectory object. |
... |
sub-trajectories or list of sub-trajectories to parallelise. |
.env |
the simulation environment. |
wait |
if |
mon_all |
if |
Returns the following chain of activities: clone
> synchronize
(> wait
> untrap
if wait=FALSE
) (see examples below).
env <- simmer()
signal <- function() get_name(env)
task.1 <- trajectory("task 1") %>%
timeout(function() rexp(1))
task.2 <- trajectory("task 2") %>%
timeout(function() rexp(1))
## These are equivalent:
trajectory() %>%
do_parallel(
task.1,
task.2,
.env = env, wait = TRUE
)
trajectory() %>%
clone(
n = 3,
trajectory("original") %>%
trap(signal) %>%
wait() %>%
wait() %>%
untrap(signal),
task.1[] %>%
send(signal),
task.2[] %>%
send(signal)) %>%
synchronize(wait = TRUE)
## These are equivalent:
trajectory() %>%
do_parallel(
task.1,
task.2,
.env = env, wait = FALSE
)
trajectory() %>%
clone(
n = 3,
trajectory("original") %>%
trap(signal),
task.1[] %>%
send(signal),
task.2[] %>%
send(signal)) %>%
synchronize(wait = FALSE) %>%
wait() %>%
untrap(signal)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.