これは以前に尋ねられたと確信していますが、私は見渡して何も見つかりませんでした!これが重複しているとわかったら、私に叫ぶのではなく、ちょうどリンクをつけたり、詳細をコピーしてください。マルチプロセッシングでのPythonの同期変数
とにかく、私は、このデータ構造を持っている。このように:
data = {
'sysstats': {
'sysgen_time': datetime.now (),
'sysgen_text': time.strftime ("%d-%b-%y %H:%M:%S"),
'connections': 0
},
'test': {
'text': "ok"
}
};
今、私はあなたが何かを入力すると、データ[「テスト」] [「テキスト」]が何であるかを返すいくつかのコードを持って、そしてあなたの場合パラメータを追加すると変更されます。コマンドを実行すると、それを返すことができ、変更した内容が返されます。
データ変数をバックアップする機能がありますので、後で再度読み込むことができます。それはマルチプロセッシング(マルチプロセシングプロセス)で実行されていますが、テキストが更新された後でも、マルチプロセスで "ok"の前の状態になります。このマルチプロセスをデータ変数と同期させます。
ただ、バックアップコードがあるので、私はマルチプロセッシングを使用していた理由は...私が持っている、とあなたは一つのプロセスやファイルの残りの部分との間で同期する方法を上の例を作成してください
をデータ構造を使用しますwhileループで3分かかっているかどうかをチェックするので、バックアップすることができます...メインコードにはすでにバックアップループを置く必要があるwhileループがあるので、マルチプロセッシングに進んでいます...
助けて!私はスレッドに入れてみましたが、すべてのテキストを非常にゆっくりと印刷しました。すべてがうんざりになりました。したがって、マルチプロセッシングはすべて私ができることです。
変数をすべてのスレッドにアクセス可能にし、sync_upを実行するにはthreading.Lockを使用します。/ – LumiG
'multiprocessing.Manager'を使ってプロセス間で同期をとることができます。しかし、これは本当に 'threading'のためのより良い仕事のようです... – mgilson