キュー インターフェイスを実装するカスタム キューを作成しています。この実装はスレッド セーフであり、場合によってはブロックされます。
InterruptedException
通常の Queue インターフェースは例外について言及していないため、実装で例外をスローすることはできません。
この問題には 2 つの解決策がありますが、どちらも満足できるものではありません。
Queue インターフェイスを削除し、例外をスローします。これにより、Queue を必要とする外部ソフトウェアでコードを使用できなくなります。
スロー
RuntimeException
、これにより、非常に驚くべきソフトウェアアクティビティが大量に発生しますが、リスクを冒したくありません。
どういうわけか、実装のようなArrayBlockingQueue
実装Queue
とBlockingQueue
. それは行くべき道ですか、それともここでのトリックは何ですか?