問題タブ [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.

0 投票する
2 に答える
1514 参照

python - Python: wx.py.shell.Shell を別のプロセスにプラグインする

multiprocessing モジュールで作成した別のプロセスを制御するシェルを作成したいと思います。可能?どのように?

編集:

セカンダリ プロセスにコマンドを送信する方法は既に達成しています。code.InteractiveConsoleそのプロセスで を作成し、それを入力キューと出力キューにアタッチして、メイン プロセスからコンソールにコマンドを送信できるようにしました。wx.py.shell.Shellしかし、プログラムのユーザーが使用できるように、おそらくシェルでそれが必要です。

0 投票する
1 に答える
669 参照

python - wxPython + multiprocessing: 色の文字列が正当かどうかを確認する

プライマリとセカンダリの 2​​ つのプロセスを持つ wxPython プログラムがあります (マルチプロセッシング モジュールを使用しています)。プライマリは wxPython GUI を実行しますが、セカンダリは実行しません。ただし、2 次プロセスからやりたいことがあります。色を説明する文字列を指定して、これが wxPython の正当な色かどうかを確認します。つまり、 を作成できるかどうかwx.Pen(color_string)

どうすればいいですか?

(wx.Pen を作成して、その色をヌル色と比較しようとしましたが、2 番目のプロセスで wx.App を作成する必要があり、作成すると、プログラムは特別な wxPython ウィンドウでエラーを発生させました。)

0 投票する
4 に答える
61268 参照

python - マルチプロセッサシステムで並列子プロセスを生成する方法は?

別の Python スクリプトのコントローラーとして使用したい Python スクリプトがあります。私は 64 個のプロセッサを搭載したサーバーを持っているので、この 2 番目の Python スクリプトの最大 64 個の子プロセスを生成したいと考えています。子スクリプトは次のように呼び出されます。

NAME は、XYZ、ABC、NYU などのようなものです。

私の親コントローラー スクリプトでは、リストから name 変数を取得します。

私の質問は、これらのプロセスを子として生成する最良の方法は何ですか? 一度に子の数を 64 に制限したいので、ステータス (子プロセスが終了したかどうか) を追跡して、世代全体を効率的に実行し続けることができるようにする必要があります。

subprocess パッケージの使用を検討しましたが、一度に 1 つの子しか生成しないため、拒否しました。ようやくマルチプロセッサ パッケージを見つけましたが、スレッド全体とサブプロセスのドキュメントに圧倒されたことを認めます。

現在、私のスクリプトはsubprocess.call、一度に 1 つの子のみをスポーンするように使用しており、次のようになっています。

一度に 64 人の子供を産み出したいのです。他のスタック オーバーフローの質問で、人々が Queue を使用しているのを見ましたが、それはパフォーマンス ヒットを生み出すように見えますか?

0 投票する
3 に答える
16841 参照

python - Pythonマルチプロセッシングに関する生産者/消費者問題

私は1つのプロデューサーと複数のコンシューマーでサーバープログラムを作成しています。私を混乱させるのは、キューに入れられた最初のタスクプロデューサーだけが消費され、その後、キューに入れられたタスクは消費されなくなり、永久にキューに残ります。

プロデューサーは、ユーザーからの要求を受信するとタスクをキューに入れるHTTPサーバーです。キューに新しいタスクがある場合、コンシューマープロセスはまだブロックされているようですが、これは奇妙なことです。

PS上記に関係のない別の2つの質問ですが、HTTPサーバーをメインプロセス以外の独自のプロセスに配置する方がよいかどうかわかりません。そうであれば、すべての子プロセスが終了する前にメインプロセスを実行し続けるにはどうすればよいですか。2番目の質問、HTTPサーバーを適切に停止するための最良の方法は何ですか?

編集:プロデューサーコードを追加します。これは単純なPythonWSGIサーバーです。

0 投票する
3 に答える
25808 参照

performance - マルチコア Intel CPU でキャッシュ メモリはどのように共有されますか?

マルチコア CPU またはマルチプロセッサ システムで使用されるキャッシュ メモリに関していくつか質問があります。(プログラミングとは直接関係ありませんが、マルチコアプロセッサ/マルチプロセッサシステム用のソフトウェアを作成する際に多くの影響があるため、ここで質問します!)

  1. マルチプロセッサ システムまたはマルチコア プロセッサ (Intel Quad Core、Core two Duo など) では、各 CPU コア/プロセッサに独自のキャッシュ メモリ (データおよびプログラム キャッシュ) がありますか?

  2. 1 つのプロセッサ/コアが互いのキャッシュ メモリにアクセスできますか? 互いのキャッシュへのアクセスが許可されている場合、その特定のプロセッサのキャッシュにデータがなく、他の 2 番目のデータが含まれているシナリオでは、キャッシュ ミスが少なくなる可能性があるためです。プロセッサのキャッシュにある可能性があるため、メモリから最初のプロセッサのキャッシュへの読み取りを回避できますか? この仮定は有効で真実ですか?

  3. 任意のプロセッサが他のプロセッサのキャッシュ メモリにアクセスできるようにすることに問題はありますか?

0 投票する
4 に答える
4035 参照

python - マルチプロセッシングlibでのファイルハンドルの継承の防止

Windowsでマルチプロセッシングを使用すると、開いているファイルハンドルはすべて生成されたプロセスに継承されているように見えます。これには、それらをロックするという不快な副作用があります。

私は次のいずれかに興味があります:
1)継承の防止
2)生成されたプロセスからファイルを解放する方法

OSXでは正常に動作するが、os.renameのWindowsではクラッシュする次のコードについて考えてみます。

0 投票する
9 に答える
9451 参照

multithreading - マルチコア プログラミングをサポートするスクリプト言語はどれですか?

私は小さな Python アプリケーションを作成しました。ここでは、通常の実行時にタスク マネージャーがどのように表示されるかを確認できます。 (出典: weinzierl.name )

アプリケーションは完全にマルチスレッド化されていますが、驚くことではありませんが、使用する CPU コアは 1 つだけです。最新のスクリプト言語のほとんどがマルチスレッドをサポートしているにもかかわらず、スクリプトは 1 つの CPU コアでしか実行できません

Ruby、Python、Lua、PHP はすべて、単一のコアでのみ実行できます。特に並行プログラミングに向いていると言われるErlangにも影響が出ています。

単一のコアに限定されないスレッドのサポートが組み込まれているスクリプト言語はありますか?

要約

答えは私が期待したものではありませんでしたがTCL答えは近づいています。を追加したいと思います。perlこれは (のようにTCL) インタープリターベースのスレッドを持っています。

Jython、IronPython、およびGroovyは、実績のある言語と実績のある別の言語の仮想マシンを組み合わせたものです。この方向へのヒントをありがとう。

Aiden Bell の回答をAccepted Answerとして選択しました。彼は特定の言語を示唆していませんが、彼の発言は私にとって最も洞察に満ちていました。

0 投票する
2 に答える
2494 参照

python - デーモン化されたプロセスの終了に関する問題

他のいくつかの子プロセスを生成するデーモン プログラムを作成しています。スクリプトを実行した後stop、終了しようとしているメイン プロセスが実行され続けているため、本当に混乱しました。

stopスクリプトは単なるワンライナーですが、その後os.kill(pid, signal.SIGHUP)、子プロセス (ワーカー プロセスと http サーバー プロセス) は正常に終了しますが、メイン プロセスはそこにとどまります。

0 投票する
1 に答える
2878 参照

python - Pythonマルチプロセッシングマネージャー

私の問題は:

同じクラスといくつかのキューからロードされた構成を共有したい3つのprocがあります。これらの情報を共有するために、multiprocessing.managerとして別のprocを生成したいと思います。

どうやってやるの?誰かがグローバル変数の使用を避け、マルチプロセッシングマネージャークラスを利用するサンプルコードを購入できますか?

Pythonドキュメントはそれほど役に立ちませんでした:-(

0 投票する
4 に答える
2670 参照

python - Pythonプログラムのデプロイで問題が発生しました(py2exeにパッケージ化されています)

問題があります。プログラムにpy2exeを使用しましたが、コンピューターで動作しました。Inno Setupでパッケージ化しました(まだ私のコンピューターで動作します)が、別のコンピューターに送信すると、アプリケーションを実行しようとすると、「CreateProcessが失敗しました;コード14001」というエラーが発生しました。アプリは実行されません。(注:プログラムでwxPythonとマルチプロセッシングモジュールを使用しています。)少しグーグルで検索したところ、ユーザーはMS再配布可能なものをインストールする必要があることがわかりましたが、ユーザーの生活を複雑にしたくありません。解決策はありますか?

バージョン:

Python 2.6.2c1、py2exe 0.6.9、Windows XP Pro