共通のシリアルがあり、着信バイトをリッスンしているとしましょう。書き込み速度が読み取り速度を上回っているとしましょう。シリアルからバイトを失わないようにするために、バッファを導入して次のことを行います。シリアル リスナーは、バイトをバッファー (バッファー ライター スレッド) とバッファー リーダーに配置して、バッファーからバイトを抽出し (バッファー読み取りスレッド)、データを分析します。
プリミティブConcurrentLinkedQueue<Integer>
をint incomingByte
シリアルとQueue<Integer>
.
制限:
- バッファサイズ制限なし
多くの場合、固定サイズのバッファーが使用されることは知っていint[] buffer[BUFFER_SIZE]
ますが、バッファー制限の制限を設けたくないのです。
- スレッドセーフ
すぐに使用できるスレッド セーフを使用し、ブロッキング バッファーまたはスムスを使用してスレッドを手動で同期しない方がよいでしょう。