multiprocessing
Python のモジュールの使用に関して、基本的な質問がいくつかあります。
class Someparallelworkerclass(object) :
def __init__(self):
self.num_workers = 4
self.work_queue = multiprocessing.JoinableQueue()
self.result_queue = multiprocessing.JoinableQueue()
def someparallellazymethod(self):
p = multiprocessing.Process(target=self.worktobedone).start()
def worktobedone(self):
# get data from work_queue
# put back result in result queue
渡す必要がありwork_queue
ますresult_queue
か?答えはOSに依存しますか?より基本的な質問は、子プロセスは親プロセスからコピーされた (COW) アドレス空間を取得するので、クラス/クラス メソッドの定義を知っているかどうかです。はいの場合、キューが IPC 用に共有されること、および子プロセスでandの複製を作成してはならないことをどのように認識しますか? これをオンラインで検索してみましたが、見つかったドキュメントのほとんどはあいまいで、実際に何が起こっているのかについて十分に詳しく説明していませんでした。 args
Process
work_queue
result_queue