3

考虑一个示例代码

library("foreach")

 library("doMC")

 library("multicore")

 multicore:::detectCores()

 registerDoMC(cores=6)

 alpha <- foreach(i = 1:10) %dopar% {
  ...
 }

当我使用 top 时,启动时线程数为 6。每个线程的工作量很大。但是,线程数迅速下降到 5、4、3、2,然后是 1。我猜从那时起执行是串行的。我不明白为什么?

干杯

4

1 回答 1

0

我认为执行串行任务时线程数不会减少,但相同的线程会等待。在您的情况下,似乎有些线程已经完成工作。

于 2012-11-03T12:41:51.143 回答