UDP メッセージを受信して解析するシステム用の API を構築しています。次に、これらの変更について開発者に通知する必要があります。
現在、2 つの実装を考えていますが、どちらが優れているか、他のオプションがあるかどうかはわかりません。
ソリューション A ArrayBlockingQueue
アイドリング時はほとんど電力を消費しないようです。API 側では、静的配列を作成し、新しい変更について通知したいときにメッセージを追加するだけです。したがって、開発者側では、それをスレッドに入れて、新しいメッセージをリッスンすることができます。ユーザーはメッセージを取得し、そのタイプとプロパティなどを確認します。
ソリューション B コールバック
このソリューションは、より美しく、より整理されたものになると思います。考えられるすべての通知タイプを持つインターフェイスを作成するだけで、開発者はこのインターフェイスを実装できます。API側では、APIが複数の同じタイプのリスナーに通知できるように、同じリスナーのハッシュマップを持っています。
他にアイデアや提案はありますか?