問題タブ [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 に答える
4175 参照

ruby - Ruby で複数のプロセスを操作する

複数のプロセス間でオブジェクトを簡単に共有できる Ruby 用のモジュールはありますか? プロセス間で共有できるプロセスセーフなキューとパイプをサポートする、 Python のmultiprocessingに似たものを探しています。

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

python - マルチプロセッシングまたはマルチスレッド?

wxPython インターフェイスを使用して、Python でシミュレーションを実行するためのプログラムを作成しています。プログラムでは、シミュレーションを作成することができ、プログラムはそれをレンダリング (=計算) します。レンダリングには非常に時間がかかる場合があります。

ユーザーがシミュレーションを開始し、初期状態を定義するとき、ユーザーがプログラムでさまざまなことをしている間、プログラムがバックグラウンドでシミュレーションを継続的にレンダリングするようにします。いっぱいになる YouTube スタイルのバーのようなもの: レンダリングされたポイントまでしかシミュレーションを再生できません。

複数のプロセスまたは複数のスレッドを使用する必要がありますか? 人々は私にこのmultiprocessingパッケージを使うように言ったので、私はそれをチェックアウトし、良さそうに見えましたが、スレッドとは異なり、プロセスは多くの情報を共有できないとも聞きました (そして、私のプログラムは多くの情報を共有する必要があると思います. ) さらに、Stackless Python についても聞きました。別のオプションですか? 何も思いつきません。

お知らせ下さい。

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

python - フォローアップ: Python シミュレーション ソフトウェアのマルチプロセッシングまたはマルチスレッド

これはこれのフォローアップです。(すべての回答を読む必要はありません。質問だけを読んでください)

人々は私にプロセスとスレッドの違いを説明してくれました。一方で、CPU のすべてのコアを完全に活用できるようにプロセスが必要でした。他方で、プロセス間で情報を渡すことは理想的とは言えず、扱っている巨大なオブジェクトの 2 つのコピーを持ちたくありませんでした。と。

そこで私は、プロセスとスレッドを組み合わせてこれを行う方法を考えてきました。これが理にかなっているかどうか教えてください。私のプログラムの主なプロセスは GUI プロセスです。「rendering-manager」スレッドを生成します。レンダリング マネージャー スレッドはシミュレーションのレンダリングを担当しますが、単独でレンダリングするのではなく、他のプロセスを生成してその作業を行います。

目標は次のとおりです。

  1. レンダリングでは、利用可能なすべてのコアを活用する必要があります。
  2. GUI が遅くなることはありません。

レンダリング マネージャーをスレッドにしたい理由は、多くの情報を GUI と共有する必要があるためです。つまり、シミュレーション タイムラインです。

それで、これは良いデザインだと思いますか?改善のための提案はありますか?

アップデート:

「レンダリング」という言葉を紛らわしく使用して申し訳ありません。レンダリングとは、画面にレンダリングするのではなく、シミュレーションを計算することを意味します。

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

python - Python:「スレッド化」と「マルチプロセッシング」からのロックは交換可能ですか?

モジュールのロックはthreadingモジュールのロックと交換可能multiprocessingですか?

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

python - Python での動的プロセス

Python マルチプロセッシングについて質問があります。データセットを取得し、チャンクに分割し、それらのチャンクを同時に実行中のプロセスに渡そうとしています。簡単な計算を使用して大規模なデータ テーブルを変換する必要があります (例: 電気抵抗 -> サーミスタの温度)。

以下にリストされているコードは、ほぼ希望どおりに機能しますが、新しいプロセスを生成していないようです (または、一度に 1 つだけ)。

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

python - Python マルチプロセッシング: カスタム プロセスのプール

Process クラスを、EdgeRenderer というクラスにサブクラス化しています。を使用したいのですがmultiprocessing.Pool、通常のプロセスの代わりに、それらを EdgeRenderer のインスタンスにしたいのです。可能?どのように?

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

python - Python: `multiprocessing.Manager` について学ぶのに適した場所は?

の使い方を学びたいmultiprocessing.Manager。ドキュメントを見ましたが、私にとっては簡単ではありません。良いチュートリアルなどを知っている人はいますか?

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

python - Python マルチプロセッシング: プロセスへのデータの送信

私は次のようにサブクラス化しましProcessた:

run次に、を使用するメソッドを定義しますself.starter

そのオブジェクトは、私が定義しstarterたクラスのものです。State

私がこれをしても大丈夫ですか?オブジェクトはどうなりますか?シリーズ化されますか?Stateオブジェクトがシリアル化可能であることを常に確認する必要があるということですか? 新しいプロセスは、このオブジェクトの重複コピーを取得しますか?

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

python - ファイルパスを介してモジュールをインポートしながらPythonマルチプロセッシングを使用する

関数を使用して、ファイルパスを使用してモジュールをインポートするプログラムを作成していますimp.load_source(module_name,module_path)。このモジュールからオブジェクトをに渡そうとすると、問題が発生するようですProcess

例:

注:このコードを「機能」させるには、指定したパラメーターを別のimp.load_sourceものに置き換える必要があります。コンピューター上のPythonファイルである必要があり、できれば同じフォルダーにない必要があります。次に、でthing=module.step、ステップの代わりに、そのファイルで定義されているランダムな関数またはクラスを入力し.pyます。

次のトレースバックを取得しています。

だから私は何をしますか?

編集:

WinXPでPython2.6.2c1を使用しています。