サイズが無限に大きくならない時間ベースの辞書ハッシュテーブルを作成する必要があります。
「時間ベース」とは、時間 X に辞書を追加する場合、アイテムが X+Y 時間に存在しないようにすることを具体的に意味します。Y はタイムアウト期間です。
時間を辞書に保存するか、キーまたは値の構造体として保存します。
環境:
使用しているライブラリによって呼び出される「コールバック」を取得すると、4 つの情報 (時間、キー、値、操作タイプ) が得られます。
operationType は start または end にすることができます (他にもありますが、問題ではありません)。
したがって、X 後の Y 期間内に終了する場合は、この有用な情報を喜んで使用します。そうでなければ、私はそれを捨てることができます。
質問:
これは基本的に、Y間隔ごとに辞書をクリーンアップするタイマースレッドであり、メインスレッドはコールバックからこの辞書に何かを追加し続けますか?
Dictionary を使用してタイマーを使用せずにこれを行うと、「結合」できる要素を削除しても、無限に成長するように見えました。
また、このようなことを行うある種の .NET ライブラリはありますか?