私は3つのことを同時に行う必要があるPythonスクリプトを作成しています。私がGILについて聞いたことと同じように、これを達成するための良い方法は何ですか?私はもうスレッドを使うことにそれほど傾いていません。
スクリプトが実行する必要のある2つのことは非常にアクティブであり、実行する作業がたくさんあります。次に、ユーザーが要求したときに、ソケットを介してユーザーに報告する3番目のことを実行する必要があります(したがって、小さなもののようになります)サーバー)他の2つのプロセスのステータスについて。
今私の質問は、これを達成するための良い方法は何でしょうか?3つの異なるスクリプトを使用したくありません。また、GILがスレッドを使用しているため、パフォーマンスがあまり向上せず、状況が悪化すると思います。
CのようにPython用のfork()があるので、私のスクリプトから、ジョブを実行するfork 2プロセスと、ユーザーに報告するメインプロセスからですか?そして、フォークされたプロセスからメインプロセスとどのように通信できますか?
LE ::より正確には、1threadはimapサーバーからメールを取得してデータベースに保存する必要があり、別のスレッドは送信する必要のあるdbからメッセージを取得して送信する必要があり、メインスレッドは小さなhttpサーバーである必要があります。 1つのURLを受け入れるだけで、これら2つのスレッドのステータスがjson形式で表示されます。では、スレッドは大丈夫ですか?作業は同時に行われますか、それともギルが原因でパフォーマンスの問題が発生しますか?