問題タブ [multiprocessing-manager]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - multiprocessing.managers.SyncManager からプロキシ オブジェクトを作成する方法は?
長時間実行しているファイル I/O タスクをデーモン/サーバー プロセスに移動できるようにしたいと考えています。CLI ツールを使用して、実行する新しいジョブをキューに入れ、実行中のジョブのステータスを照会し、個々のジョブを待機します。Python のmultiprocessing.managers
方法は、IPC を処理する単純な方法のように見えます。クライアントがサーバーをブロックせずに待機できるようにしたいのですSyncManager.Event
が、そうしようとすると「サーバーがまだ開始されていません」というアサーションがトリガーされます。皮肉なことに、このアサーションはサーバーからクライアントに送信されるため、明らかにサーバーはどこかで開始されます。
最小限の例を次に示します。
クライアントを実行すると、次のように表示されます。
サーバー出力は次のとおりです。
python - multiprocessing.Manager リストに格納されているクラスにアクセスするには?
次のように、リスト内のクラスの属性にアクセスして変更できます。
ただし、を使用するmultiprocessing.Manager
と、私のコードは何の効果もないようです:
multiprocessing
モジュールを使用してクラスのインスタンスで iterable を適切に保存する方法は?
python - マルチプロセッシングマネージャーを高速化するには?
最終的にクラスを別のプロセスに渡す必要があるため、独自のマネージャーを作成しました。次のコードを使用してこれを行いました。
問題は、このモデルの各反復の実行に約 0.12 秒かかることですが、マルチプロセッシングとマネージャーを使用せずにモデルを実行し、クラスの通常の初期化のみを実行すると、約 0.07 秒で実行されます。マルチプロセッシングの実装を高速化する方法はありますか? ありがとうございました。
python - multiprocessing.Process は何もしません
このリンクhttps://pymotw.com/2/multiprocessing/basics.htmlに示されている例を使用して、Python でマルチプロセッシングを使用して並列処理を理解しようとしています。コードは次のとおりです。
このコードを実行すると、Jupyter ノートブックに何も出力されません。他の関数も試しましたが、出力が得られません。私のpythonバージョンは3.8.5です。
ありがとうございました。