multicore(expr, envir = parent.frame(), substitute = TRUE,
globals = FALSE, maxCores = availableCores(), ...)
expr
is
substitute()
:ed, otherwise not.availableCores()
.Not all systems support multicore futures. For instance, it is not supported on Microsoft Windows. Trying to create multicore futures on non-supported systems will silently fall back to using eager futures, which effectively corresponds to a multicore future that can handle one parallel process (the current one) before blocking.
The preferred way to create an multicore future is not to call
this function directly, but to register it via
plan(multicore)
such that it becomes the default
mechanism for all futures. After this future()
and %<=%< a="">
will create multicore futures.
availableCores() > 1L
to check whether multicore
futures are supported or not.## A global variable
a <- 0
## Create multicore future (explicitly)
f <- multicore({
b <- 3
c <- 2
a * b * c
})
## A multicore future is evaluated in a separated
## forked process. Changing the value of a global
## variable will not affect the result of the future.
a <- 7
print(a)
v <- value(f)
print(v)
stopifnot(v == 0)
Run the code above in your browser using DataLab