在R中进行并发编程是否可能?
例如,同时运行两个带有while(TRUE)循环的函数。
雪、Rmpi和pvm软件包在过去的十年中一直支持这一功能,最初是跨计算机,也可用于多CPU或多核计算机。
Multicore软件包增加了在多核计算机上进行此操作的能力。
自从R 2.14.0以来,parallel软件包已经将snow和multicore的部分内容捆绑在基本的R发行版中。这可能是您现在最好的起点。
R本身的一些部分也使用了多线程编程,但由于一些架构限制的存在,这种方法的应用受到了限制,不太可能得以解决。
我们写了一篇有关使用R进行并行编程的综述论文几年前,该论文仍然具有相关性。
repeat
代替while(TRUE)
。