2012-01-05 7 views
3

マルチプロセスを使用して(マルチコアマシンでGILの問題を回避する)、同じシリアルポートを使用した読み取りプロセスと書き込みプロセスが必要です。それは可能ですか?もしそうなら、どのようにしてポートを取得するのですか?次に、子プロセスが使用できるファイルオブジェクトを取得する方法を教えてください。2つの異なるプロセスからシリアルポートにアクセスする方法(Python)

編集 - これはWindows上で動作する必要がありますが、MacとLinuxも良いでしょう。

+0

もちろん、あなたがすることができ、少なくともUnixプラットフォーム上で、しかし、あなたは、いくつかを使用する必要がありますプロセス間の種類の同期メカニズム。 –

+0

同期メカニズムが必要なのはなぜですか?シリアルポートは全二重です。 –

+0

ああ、あなたは1つのプロセスが読んで1つ書いていることを意味しますか?それは問題ではないはずです。 (シリアル通信の専門家ではありません) –

答えて

3

コメントに記載されているように、一度に1つのプロセスしかシリアルポートを取得できないため、実際のハードウェアI/O処理を行うPython xmlrpcまたはjsonrpcを使用して、 Oを使用して、現在の読み書きスクリプトを変更して、他のプロセスでリモート関数を呼び出すことができます。ライブラリのドキュメントの

例XMLRPCと、このような「I/Oサーバー・プロセス」を実装するための十分なはずです: http://docs.python.org/library/simplexmlrpcserver.html

関連する問題