知りたい事
同一コンピュータ上で別々に起動させたPythonアプリ同士を通信させる方法として、ソケットより高速な方法がありましたら、ご教示ください。
追記
環境はWindows10 64bit / Python3.6です。
背景
以下のように二並列の処理が必要となった場合、multiprocessingモジュールを用いて、2つのプロセスを作成し、multiprocessing.Queue()などによりプロセス間通信を行う方法が最もシンプルであると思います。
親プロセス:子プロセスをスタートさせる 子プロセスA:外部と通信を行う 子プロセスB:受け取ったデータを加工する
しかしながら、multiprocessingを利用した上記の構成では、些細な機能の追加や、修正を行うだけで、アプリ全体を再起動させる必要があります。
例えば・・・
・外部との通信方式が変わったため、子プロセスAのコードを変更する必要があるが、子プロセスBは止めたくない
・加工方法を修正したいが、外部との通信は途切れさせたくない
プロセスAとプロセスBを別pyファイルに書き出し、importlibモジュールを用いて、変更があればimportlib.reloadするという方法も考えましたが、新たに三並列目のプロセスを追加することができません。
プロセスAとプロセスBを別々に起動させ、ソケットにより通信させることも検討しましたが、実測で8ミリ秒の遅延があり、パフォーマンスに優れません。
以上、どうかご教示よろしくお願い致します。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。