| 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.