2つのシリアルポート(/ dev/ttyS1と/ dev/ttyS2)を読み込むための並列処理/スレッドを利用して、Pythonクラスを作成しようとしています。これらのポートは両方とも19200ボーレートで動作し、常にアクティブです。私はこの目的のためにpySerialを使いました。シリアルポートを読むためのPython複数スレッド/複数のプロセス
両方の読み取り操作を連続して同時に実行する必要があります。私は、スレッドライブラリまたはスレッドライブラリまたはマルチプロセッシングライブラリを使用すべきかどうか疑問に思っています。私は大量のIO操作のための真のスレッド機能を持たないグローバルインタプリタロックのためにしか心配していません。しかし、グローバルインタプリタロックが私に影響を与えないなら、私はスレッド/スレッドモジュールを使用します。しかし、そうするなら、私は組み込みシステム上にあるので、Pythonマルチプロセッシングライブラリをコンパイルする必要があります。
私のコードでは、通常、 thread1またはprocess1 = ttyS1を読み込み、読み込み行にいくつかの文字列操作を実行した後にバッファに書き込みます。 thread2またはprocess2 = ttyS2を読み取って、読み取り行で文字列操作を実行した後に別のバッファに書き込みます。 その他の機能 これらのバッファは、コード内の他の部分によってさらに利用されます。
また、Pythonでのマルチプロセッシングには複数のコア/ cpusが必要ですか?
読んでいただきありがとうございます!
GILのリリースについての情報をありがとう。組み込みシステムの使用は、arm5telアーキテクチャの550MHz CPU上で行われます。私は病気がちょうど異なるセットアップでいくつかのベンチマークをして、どれくらい私がそれから出ることができるかを見なければならないと思う。また、ビデオのおかげでそれを見てくれてありがとう! – kal