問題タブ [multiprocessing]
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 - 2レベル以上のPythonでのマルチプロセッシング
プログラムを実行して、このプロセス->nプロセス->nプロセスのようなスポーンを作成したい
マルチプロセッシングを使用して第2レベルのスポーンプロセスを実行できますか?Python2.6のmultiprocessinfモジュールを使用する
thnx
python - プロセス間でファイルハンドル属性を持つオブジェクトを共有する
プロセス間のファイル ハンドルを持つ共有リソースについて質問があります。ここに私のテストコードがあります:
次に、KeyError以下のようなものを取得します。
オブジェクトをキューに入れるとFile()、オブジェクトがシリアル化され、ファイルハンドルをシリアル化できないと思うので、次のようになりましたKeyError:
誰でもそれについて何か考えがありますか?ファイル ハンドル属性を持つオブジェクトを共有したい場合、どうすればよいですか?
python - マルチプロセッシングへのPythonシングルトン
プロセス間で「シングルトニック」クラスの同じインスタンスを共有するようにコーディングするにはどうすればよいですか?
python - 複数のPythonマルチプロセッシングキューで「選択」しますか?
両方が同じシステムに存在する2 つの (マルチプロセッシング) Queuesのいずれかで何かが利用可能になるまで (回転せずに) 待機する最良の方法は何ですか?
python - マルチプロセッシングモジュールとパイロの比較?
コンピューティングクラスターでの並列ジョブの基本的な管理にはpyroを使用します。各計算ノードですべてのコアを使用する責任があるクラスターに移動しました。(以前のクラスターでは、各コアは個別のノードでした。)Pythonマルチプロセッシングモジュールはこれに適しているようです。リモートプロセス通信にも使用できることに気づきました。誰かがリモートプロセス通信に両方のフレームワークを使用したことがあるなら、それらが互いにどのように積み重なっているかを聞いていただければ幸いです。マルチプロセッシングモジュールの明らかな利点は、2.6から組み込まれていることです。それとは別に、どちらが良いかを判断するのは難しいです。
python - Python: マルチコア処理?
Python のマルチプロセッシング モジュールについて読んでいます。私はまだ、それができることをよく理解しているとは思いません。
クアッドコア プロセッサがあり、1,000,000 個の整数を含むリストがあり、すべての整数の合計が必要だとします。私は簡単に行うことができます:
しかし、これはそれを1つのコアにしか送信しません。
multiprocessing モジュールを使用して、配列を分割し、各コアにその部分の合計を取得させて値を返すようにして、合計を計算できるようにすることは可能ですか?
何かのようなもの:
どんな助けでも大歓迎です。
java - 「悪い」APIの呼び出しからプログラムを分離する方法は?
Javaを使用して(アカデミック)ソフトウェアを開発したとき、実装がかなり悪いAPIを使用せざるを得ませんでした。これは、特定の入力データのセットに対するこのAPIの呼び出しが、返されない場合があることを意味します。提供されたアルゴリズムは決定論的なものであり、データセットで終了することもあれば、同じデータセットで無限ループに陥ることもあるため、これはソフトウェアのバグであったに違いありません...
ただし、APIの修正または再実装は、単に範囲を超えていました。私もソースを持っていましたが、APIは、文書化されておらず、ソースがなく、Webから消えてしまった(または存在しなかった)他のAPIに大きく依存していました。一方、この「悪い」APIは、私が抱えていた特定の問題を解決した唯一のAPIだったので、私は本当にそれに固執しなければなりませんでした。
問題は、それを動作させるAPIを処理する最もクリーンな方法は何ですか?この問題に直面したとき、APIへの呼び出しを別のスレッドに入れることにしました。次に、別のスレッドが、このスレッドが終了したかどうかをときどきチェックします。一定の時間が経過したら、を使用して処理スレッドをThread#stop()強制終了し、次回に戻ることを期待して処理を再開します。今、私はこのメソッドが非推奨であり、使用してはならないことを知っています(そして当時は知っていました)。しかし、この学術的な文脈では、ソフトウェアがクラッシュするのではなく、未定義の状態になる可能性があることは許容されていました。
また、無限ループに陥った処理スレッドを無視することもできませんでした。これは、CPUを大量に消費する操作を実行して、ユーザーのマシンの速度を大幅に低下させるためです。
私が試しなかったもう1つの方法は、スレッドではなく別のプロセスで処理を開始することです。これは、ソフトウェアを不整合な状態にすることなく、サブプロセスを完全に強制終了できるためです。または、新しいSwingWorkerクラス(まだ利用できませんでした)がその仕事をしたでしょうか?方法はcancel()ありますが、ドキュメントには「このタスクの実行をキャンセルしようとしている」と書かれているため、信頼できるアプローチのようにも見えません。
java - Java コードから 2 番目の JVM を開始するには、*これ* が本当に最善の方法ですか?
これは私自身の以前の質問のフォローアップであり、これを尋ねるのはちょっと恥ずかしいです...しかし、とにかく、システムに依存しない方法でスタンドアロンのJavaプログラムから2番目のJVMをどのように起動しますか? また、たとえば JAVA_HOME などの環境変数に依存することなく、現在実行中のものとは異なる JRE を指す可能性があります。実際には動作しますが、少しぎこちなく感じる次のコードを思いつきました。
また、現在実行中の JVM は、2 番目の JVM が知らない他のパラメーター (-D、-X...、...) で開始されている可能性があります。
python - Python マルチプロセッシングをエレガントに終了するにはどうすればよいですか?
上記のコードが実際に「終了しました」と表示されないのはなぜだろうと思っています。私は何を間違っていますか?もしそうなら、誰かが優雅に終了する正しい方法を教えてもらえますか? (私は process.terminate または kill について言及していません)