我知道 R 因为版本 2.14.0 随parallel
包一起提供,所以你可以这样做:
library(parallel)
cl <- makeCluster(2) # parallelize by 2
res <- clusterApply(cl,1:20,
function(x)
{
# long stupid elaboration...
currmean <- 0
count <- 0
for(a in 1:100){
for(b in 1:100){
for(c in 1:100){
currmean <- currmean + 1/(count+1) * (x - currmean)
count <- count + 1
}
}
}
return(currmean)
}
)
问题是以下方法(至少在 Windows 上)需要防火墙权限,因为它为每个集群打开一个套接字,但这有时是不可能或困难的(例如在某些生产环境中)。
是否有不需要防火墙权限的替代包/方式,例如依赖线程的东西?