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

标签 python multithreading r multiprocessing rpy2

在多处理环境中调用 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)]))

最佳答案

看到 multiprocessing 为池中的每个工作实例生成新的 python 实例,并且它们不共享公共(public)资源——包括 R 进程的实例——它很可能是线程安全的。最好的方法是对其进行测试并查看。

关于python - 使用 RPy 进行多处理安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5707382/

相关文章:

java - Tomcat : shared static variables and methods across sessions.

c# - 线程同步。为什么这个锁不足以同步线程

r - 错误于{: task 1 failed - "error returned from C call" using ncvar_get (ncdf4 package) within foreach loop

R - 使用 data.table 有效测试多行和多列的滚动条件

python - 如何用参数填充正则表达式字符串

Python fabric sudo() 在输出中返回奇怪的转义字符

c++ - 插入双映射的线程

r - 如何不将数字显示为指数?

python - Django:CSRF token 丢失或不正确

Python mechanize 在第二次打开时丢失属性