4

マルチプロセッシング環境で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)]))
4

2 に答える 2

1

マルチプロセッシングがプール内のワーカーインスタンスごとに新しいPythonインスタンスを生成し、それらがRプロセスのインスタンスを含む共通のリソースを共有しないことを確認すると、スレッドセーフである可能性があります。最善の方法は、それをテストして確認することです。

于 2011-04-18T21:02:54.773 に答える
0

マルチプロセッシングとrpy2を問題なく使用しています。rpy(v1)と話すことはできませんが、うまくいく可能性は十分にあります。

于 2011-05-06T15:08:26.840 に答える