問題タブ [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 投票する
3 に答える
6633 参照

python - マルチプロセッシングを使用して複数のファイルを読み取る

いくつかの非常に巨大なテキストファイル(100+ Mb)を読み取り、すべての行を正規表現で処理し、データを構造体に格納する必要があります。私の構造はdefaultdictを継承しており、self.file_nameファイルを読み取るread(self)メソッドがあります。

この非常に単純な(しかし実際ではない)例を見てください。私は正規表現を使用していませんが、行を分割しています。

最後に、すべての結果を1つのコンテナに結合する必要があります。行の順序を維持することが重要です。値を返すときの私のアプローチは遅すぎます。より良い解決策?LinuxでPython2.6を使用しています

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

python - マルチプロセッシングの問題[pyqt、py2exe]

PyQt4を使用してGUIプログラムを作成しています。メインウィンドウにボタンがあり、このボタンをクリックします。processing.Processから派生したクラスのインスタンスであるバックグラウンドプロセスを起動したいと思います。

( http://code.google.com/p/python-multiprocessing/から取得したpython-multiprocessingのPython2.5ポートを使用していることに注意して ください 。これが、multiprocessing.Processではなくprocessing.Processである理由です。これは違いを生むべきではありません。私は正しいですか?)

ボタンクリック信号に接続されているコードは、次のようなものです。

プログラムは、Pythonインタープリターの下で期待どおりに動作します。つまり、コマンドライン「pythonmyapp.py」から起動した場合です。

ただし、py2exeを使用してプログラムをパッケージ化した後、そのボタンをクリックするたびに、バックグラウンドタスクを開始する代わりに、メインウィンドウのコピーがポップアップ表示されます。この動作の理由はわかりません。http://docs.python.org/library/multiprocessing.html#multiprocessing-programmingでアドレス指定された次のメモに関連していると思い ます

「このパッケージ内の機能には、メインメソッドが子によってインポート可能である必要があります。これはプログラミングガイドラインでカバーされていますが、ここで指摘する価値があります。これは、マルチプロセッシングなどの一部の例を意味します。プールの例は、インタラクティブインタープリターでは機能しません。 「」

name == " main "の場合、私が持っている唯一の場所は、典型的なpyqtプログラムのようにメインモジュールにあります

この問題を解決する方法に関する解決策はありますか?ありがとう!

0 投票する
6 に答える
73734 参照

python - 複数のプロセスから共有カウンターをインクリメントする方法は?

モジュールに問題がありmultiprocessingます。多くのファイルを同時に分析するためにPool、そのメソッドで of worker を使用しています。mapファイルが処理されるたびにカウンターを更新して、まだ処理されていないファイルの数を追跡できるようにしたいと考えています。サンプルコードは次のとおりです。

これに対する解決策が見つかりません。

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

python - マルチプロセッシングと快適さの価値

マルチプロセッシングで作成されたプロセスまたはプールのniceness値を設定する簡単な方法を知っている人はいますか?

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

python - InternalError: 現在のトランザクションは中止され、トランザクション ブロックが終了するまでコマンドは無視されます

マルチプロセッシング ライブラリを使用してサブ プロセスでデータベース呼び出しを行うと、このエラーが発生します。

訪問:パスティ

InternalError: 現在のトランザクションは中止され、トランザクション ブロックが終了するまでコマンドは無視されます

psycopg2これは、 のドライバーを使用して、Postgre データベースに送信されweb.pyます。

ただし、threading.Thread代わりに使用するとmultiprocessing.Process、このエラーは発生しません。
これを修正する方法はありますか?

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

python - Pythonでのプロセスのギャングスケジューリングの簡単な例?

実行する必要のあるプロセスのプールがあります。すべてのCPUがプロセスを実行できるように、マシンを最大限に活用したいと思います。私はシステムをオーバーサブスクライブしたくないので、私が本当に欲しいのはいつでも#executing_processes =#cpusです。また、完了した各プロセスのstdout、stderr、およびリターンコードを保存する必要があります。Pythonでこれをどのように達成できますか?

編集:「プロセス」とは、シェルプロセスを意味します。

0 投票する
5 に答える
4558 参照

python - Python はすべてのプロセッサをスレッド モードで使用しますか?

Apache mod_wsgi にデプロイされた Django アプリを開発しているときに、マルチスレッド (Python スレッド; mod_wsgi プロセス = 1 スレッド = 8) の場合、Python は利用可能なすべてのプロセッサを使用しないことがわかりました。マルチプロセッシング アプローチ (mod_wsgi プロセス = 8 スレッド = 1) では、すべて問題なく、マシンをフルにロードできます。

質問: この Python の動作は正常ですか? 少数のスレッドで 1 つのプロセスを使用することがデフォルトの mod_wsgi アプローチであるため、私はそれを疑っています。

システムは次のとおりです。

FreeBSD 7.2 AMD64 および Python 2.6.4 上の 2xIntel Xeon 5XXX シリーズ (8 コア (ハイパースレッディング付き 16))


回答ありがとうございます。GIL のおかげで、この動作は正常であることがわかりました。ここに良い説明があります: http://jessenoller.com/2009/02/01/python-threads-and-the-global-interpreter-lock/ または stackoverflow GIL ディスカッション:グローバル インタープリター ロック (GIL) とは何ですか? .

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

python - いずれかのスレッドで例外が発生すると、マルチプロセッシング プールがハングする

私は Python が初めてで、multiprocessing.pool プログラムを使用してファイルを処理しようとしていますが、例外がない限り問題なく動作します。スレッド/プロセスのいずれかが例外を取得した場合、プログラム全体がスレッドを待機します

コードのスニペット:

失敗メッセージ:



プロセスを終了するために例外ハンドラを追加しました

しかし、まだ待っています。何が欠けているのかわかりません。

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

python - pythonマルチプロセッシングキュー:取得から独立していますか?

マルチプロセッシング キューputting内のオブジェクトは、そこからのオブジェクトから独立していますか?getting

言い換えれば、別のプロセスP2がプロセス P1 からのものである場合putting、オブジェクトはプロセスP1をブロックしますか?getting

更新:無限のキューを想定しています。

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

python - プロセス間で通信する場合、パイプよりもキューの利点は何ですか?

プロセス間で通信するためにパイプを介して2つのキューを使用することの利点は何ですか?

multiprocessingPythonモジュールの使用を計画しています。