1〜1/10Hzの周波数で定期的に監視したいデバイスにシリアル接続しています(未定)。アシンクロナスシリアル通信スレッドオプション
私は通信がノンブロッキングであることを望みます。したがって、何らかの種類のスレッドに通信を置き、メインアプリケーションにスレッドから発生したイベントを介してデータを受信させることにしました。
私は、アプリケーションの開始時に連続してデータを送受信するスレッドを作ることを考えていました。スレッドは、デバイスに送信するコマンドを含むキューを空にし、応答が完了したときにイベントを発生させるレスポンスを待ち受けます。 スレッドは、コマンドがキューにないときはスリープ状態になり、コマンドがキューに入るときはスリープ状態になります。
これは良い方法ですか? BackgroundWorkerやTaskなどのフレームワークのいくつかの確立された機能を使用していると考えていました。 おそらくこれを達成するための他のより良い方法がありますか?
ありがとうございました。最も素晴らしい! – kasperhj