R - 并发编程

4

在R中进行并发编程是否可能?

例如,同时运行两个带有while(TRUE)循环的函数。


你想做什么?这听起来是一个相当奇怪的使用 R 的方式。 - Hansi
1
为什么这很奇怪?OP没有说明他为什么想要这样做,但我可以想到一些好的理由。 - Paul Hiemstra
  1. 使用repeat代替while(TRUE)
  2. 在R中有许多进行并行计算的方法。请参阅HPC任务视图。http://cran.r-project.org/web/views/HighPerformanceComputing.html
- Richie Cotton
这里有一些不错的建议,但是所有的内容都是大约两年前的。我希望我的评论能够将此提到前台,以便我们可以听到更多更新。谢谢! :) - Mike Williamson
2个回答

8

雪、Rmpi和pvm软件包在过去的十年中一直支持这一功能,最初是跨计算机,也可用于多CPU或多核计算机。

Multicore软件包增加了在多核计算机上进行此操作的能力。

自从R 2.14.0以来,parallel软件包已经将snow和multicore的部分内容捆绑在基本的R发行版中。这可能是您现在最好的起点。

R本身的一些部分也使用了多线程编程,但由于一些架构限制的存在,这种方法的应用受到了限制,不太可能得以解决。

我们写了一篇有关使用R进行并行编程的综述论文几年前,该论文仍然具有相关性。



5

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接