R Windows中的异步子进程

R Windows中的异步子进程,r,windows,parallel-processing,R,Windows,Parallel Processing,在Windows上,R(foreach,parlappy)中用于并行化的常用方法将等待其工作进程全部完成,然后才允许父进程继续。我希望启动一个子进程,而不是等到它完成任务后再运行我的其他代码(运行该子进程只是为了它的副作用)。这种行为似乎可以通过并行软件包中的mcparallel函数获得,但在Windows上却不行,因为它依赖于分叉!我的工作要求我使用Windows,那么有没有一种Windows友好的方法可以做到这一点?该软件包(我是作者)以跨平台的方式支持这一点。比如说, library("f

在Windows上,R(foreach,parlappy)中用于并行化的常用方法将等待其工作进程全部完成,然后才允许父进程继续。我希望启动一个子进程,而不是等到它完成任务后再运行我的其他代码(运行该子进程只是为了它的副作用)。这种行为似乎可以通过并行软件包中的
mcparallel
函数获得,但在Windows上却不行,因为它依赖于分叉!我的工作要求我使用Windows,那么有没有一种Windows友好的方法可以做到这一点?

该软件包(我是作者)以跨平台的方式支持这一点。比如说,

library("future")
plan(multiprocess)
f1 <- future({ asynchronous code evaluated in the background })
f2 <- future({ some other asynchronous code })
v3 <- my_synchronous_code()
v1 <- value(f1)  # get value of f1 expression - wait if not done
v2 <- value(f2)  # get value of f2 expression - wait if not done
y <- f(v1, v2)
库(“未来”)
计划(多进程)
f1包(我是作者)以跨平台的方式支持这一点。比如说,

library("future")
plan(multiprocess)
f1 <- future({ asynchronous code evaluated in the background })
f2 <- future({ some other asynchronous code })
v3 <- my_synchronous_code()
v1 <- value(f1)  # get value of f1 expression - wait if not done
v2 <- value(f2)  # get value of f2 expression - wait if not done
y <- f(v1, v2)
库(“未来”)
计划(多进程)

f1查看未来套餐。我想这正是你想要的。看看未来的套餐吧。我认为它有你想要的。这是完美的,而且在许多其他方面也是一个非常有用的包。谢谢你的大包!谢谢你-我很高兴你发现它有用这是完美的,而且在许多其他方面也是一个非常有用的软件包。谢谢你的大包!谢谢-我很高兴你觉得它有用