在R中的不同线程/任务中运行不同的功能

时间:2016-07-06 23:01:57

标签: r multithreading thread-safety task

R是否有任何机制在不同的线程中运行不同的计算(类似于Windows的线程/任务机制)?我们

func1 <- function(x) { return (x^2); }
func2 <- function(y) { return (y^3); }

我需要执行类似这样的事情(想象代码):

thread1 <- thread_run(func1);
thread2 <- thread_run(func2);

具有相同的同步机制,例如:

wait(thread1);
wait(thread2);

1 个答案:

答案 0 :(得分:2)

您可以使用未来的套餐

install.packages(future)
library(future)

然后只需使用您的代码,只需将配置更改为

即可
thread1 %<-% thread_run(func1);
thread2 %<-% thread_run(func2);

更多内容请阅读:http://www.r-bloggers.com/a-future-for-r-slides-from-user-2016/