辞書(リクエストと呼ばれる)を含むリスト(requestRosterと呼ばれる)があります。「requests」ディクショナリの項目は、「requestTime」や「thisURL」などです。例えば:
[
{'thisURL': 'http://localhost/bikes', 'requestTime': datetime.datetime(2012, 10, 18, 0, 41, 34)},
{'thisURL': 'http://localhost/clothing', 'requestTime': datetime.datetime(2012, 10, 18, 0, 41, 35)}
]
multiprocessing.Process を使用して新しいプロセスを生成し、各リクエストを発行しています。
各プロセスで requestRoster を更新し、各リクエストに「応答」項目を追加したいと思います。
これどうやってするの?
multiprocessing.Manager() を使用して manager.list() と manager.Namespace() を作成しようとしました。どちらも私がやりたいことをすることはできません 。
multiprocessing.Lock() を使用できると思います
- ミューテックスを取得する
- プロセス内で requestRoster のコピーを作成する
- ローカライズされた requestRoster を変更する
- 「グローバル化された」リクエスト名簿をローカライズされたもので上書きする
- ミューテックスを解放する
...しかし、少し手の込んだようで、もっと単純なものが欠けているのではないかと思います。非同期コールバックは素晴らしいでしょう。