使用 RPy 进行多处理安全吗?

发布于 2024-11-02 09:45:24 字数 308 浏览 7 评论 0原文

在多处理环境中调用 RPy 函数是否安全?是否存在应注意的有关 RPy 的多处理问题?

一个简单的例子可能如下:

from multiprocessing import Pool
from rpy import *

def f(x):
    return r.mean(x)


if __name__ == '__main__':
    p = Pool(5)
    print sum(p.map(f, [range(1, 1000000), range(2, 2000000), range(3, 3000000)]))

Is it safe to call RPy functions in a multiprocessing environment and are there any multiprocessing issues regarding RPy that one should be aware of?

A simple example might be the following:

from multiprocessing import Pool
from rpy import *

def f(x):
    return r.mean(x)


if __name__ == '__main__':
    p = Pool(5)
    print sum(p.map(f, [range(1, 1000000), range(2, 2000000), range(3, 3000000)]))

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

抹茶夏天i‖ 2024-11-09 09:45:24

看到多处理为池中的每个工作实例生成新的 python 实例,并且它们不共享公共资源(包括 R 进程的实例),很可能它是线程安全的。最好的方法是测试一下然后看看。

Seeing that multiprocessing spawns new python instance for each worker instance in the pool and they share no common resources -- including instances of the R process, -- chances are it is thread-safe. Best way is to test it and see.

违心° 2024-11-09 09:45:24

我使用多处理和 rpy2 没有任何问题。无法与 rpy (v1) 对话,但很有可能它会起作用。

I use multiprocessing and rpy2 with no problems. Can't speak to rpy (v1) but chances are good that it'll work.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文