2012-02-16 12 views
0

私はマルチスレッドプログラムを持っています。私はPythonインタプリタを埋め込みたい。私はPythonのスレッドを使用したくない。 Pythonインタプリタを複数コピー実行したいです。マルチスレッドプログラムに複数のPythonインタプリタを埋め込むことはできますか?

  • これを行うことはできますか? (つまり、Pythonにはグローバル変数がありますか、またはすべてが1つのPythonインタプリタオブジェクトで行われますか?)
  • これを行うプログラムの例はありますか?
  • もし私ができないのであれば、私は自分のアドレス空間で動作する複数のPythonインタプリタを用意し、プロセス間通信で何かをしようとします。しかし、それは本当に難しいようです。
  • または、マルチスレッドの埋め込みが可能になったので、今では十分にPythonマルチスレッドですか?

ありがとうございます。

+0

Pythonのプロセス間通信は、少なくとも標準入力を渡して標準出力をキャプチャするためには、実際にはかなり簡単です。 http://docs.python.org/library/subprocess.html –

+0

複数のプロセスとプロセス間の通信は、おそらくスレッド処理よりも難しくありません。ただ言って。 –

+0

第4ポイントの質問は何ですか? FUD? – XTL

答えて

5

Pythonのインタプリタはグローバルな状態を使用するため、プロセスごとにインタプリタを1つしか持てません。 multiprocessingを使用して複数のプロセスを実行してみてください。複数のプロセスはそれぞれ独自のインタープリタで動作しますが、埋め込みでどれだけうまくいくかはわかりません。

+0

ありがとうございます。それは残念です。データを別のプロセスに転送する埋め込みシムを書くか、何らかのグローバルロックを実装する必要があります。 – vy32

関連する問題