3

クラウド サービスを処理する別のプロセスを生成します。私はそれを次のように生成します:

CldProc = Process(target=CloudRun)
CldProc.start()

その CloudProc と現在のメイン プロセスとの間で共有ディクショナリを使用できるかどうか疑問に思っています。

編集: または、ピクルを使用してデータをプロセスからファイルにダンプし、ロードし直すことを考えています。これには、プロセスが完了して終了するのを待つために join() を使用する必要があります。

2番目の編集 だから、私は自分の辞書を mac_dict={} のように宣言してから、それをサブプロセスに入力し、メインプロセスでアクセスしたいと考えています。今、私はこれを試しました:

>>> dict = dict()
>>> dict['A'] = 1
>>> print dict
{'A': 1}

では、python は dict() を Manager から呼び出す必要があることをどのように認識しているのでしょうか? 私が従うことができる例はありますか?

4

2 に答える 2

6

簡単にするために、私は次のようにしました:

from multiprocessing import Process, Manager

def myf(myd):
    myd[1] = "HELLO WORLD!"

def proc(d):
    myf(d)

m=Manager()
locdict=m.dict()
locdict[2] = "HI BUDDY!"

p = Process(target=proc, args=(locdict,))

p.start()
p.join()
print locdict
于 2013-06-20T23:28:06.167 に答える
2

multiprocessing.Manager特にとManager.dict()メソッドを見てください。彼らはあなたのニーズを満たすかもしれません。

于 2013-06-20T21:44:35.800 に答える