私はすでに答えを知っているのではないかと恐れています。サービスの呼び出しとキャッシュを処理するクラスがあります。同じリクエストでサービスを複数回呼び出すのを避けるために、もちろんコード ブロックの周りにロックを使用できますが、これらのメソッドの多くは、キャッシュ キーを構成するさまざまな引数を持っています。完全に異なるキャッシュ キー (または複数の異なるキャッシュ キー) のロック コード ブロックが実行されるのを待つのは残念です。
キャッシュキー文字列自体をロックできることはわかっていますが、その文字列がどこにでも現れる可能性があることを考えると、これはノーノーです。
そのため、ロックなしで潜在的に不要なサービス呼び出しを実行するか、ロックを待機することによってメソッド内に潜在的に不要な遅延を追加することができます。
これらは私の唯一の2つのオプションですか、それとも別のオプションがありますか?
乾杯