1

Delphiアプリケーション内のDelphiコンポーネント用のPythonでPythonスクリプトをホストしています。スクリプトで実行し続けるバックグラウンドタスクを作成したいと思います。

スクリプトの実行が終了しても実行を継続するスレッドを作成することは可能ですか(ただし、継続するホストプロセスは作成できません)。実行中のスクリプトが終了し、スレッドが実行されていると、プログラムがスタックすることに気づきました。ただし、スレッドが終了するまで待つと、すべてうまくいきます。

スレッドに「スレッド化」標準モジュールを使用しようとしています。

4

3 に答える 3

2

Python には独自のスレッド化モジュールがあり、それが役立つ場合は標準で提供されます。threading モジュールを使用して、スレッド オブジェクトを作成できます。

スレッディング ドキュメンテーション

スレッド ドキュメント

thread モジュールは、単純な Lock オブジェクトを使用して、低レベルのスレッド化と同期を提供します。

繰り返しますが、Delphi 環境で Python を使用しているため、これが役立つかどうかはわかりません。

于 2008-09-15T19:05:12.460 に答える
0

定義上、スレッドは同じプロセスの一部です。それらを実行し続けたい場合は、新しいプロセスに分岐する必要があります。os.fork()とその仲間を参照してください。

スクリプトを生成した直後に(exit()などを介して)新しいプロセスを終了することをお勧めします。

于 2008-09-15T15:10:03.227 に答える
0

プロセスが停止すると、すべてのスレッドが停止するため、解決策は別のプロセスになる可能性があります。

xmlrpc サーバーの作成が役立つかどうかを確認してください。これは、プロセス間通信の簡単なソリューションです。

于 2008-09-15T15:12:27.043 に答える