1. ホーム
  2. java

[解決済み] N秒間にM回のリクエストに対してメソッド呼び出しをスロットルする

2022-04-27 17:55:03

質問

私は、N秒(またはミリ秒またはナノ秒、重要ではありません)に最大Mコールにいくつかのメソッドの実行をスロットルするコンポーネント/クラスが必要です。

言い換えれば、私は私のメソッドがN秒のスライドウィンドウでM回以上実行されないことを確認する必要があります。

もし、既存のクラスを知らないのであれば、どのように実装するか、あなたの解決策やアイデアを投稿してください。

どのように解決するのですか?

私なら リングバッファ メソッドが呼ばれるたびに、最も古いエントリをチェックし、それが過去N秒未満であれば、別のエントリを実行して追加し、そうでなければ、時間差のためにスリープさせます。