HashTable com itens expiráveis
Eu quero implementar umHashTable
(ou talvez umHashSet
ouDictionary
) que possui membros únicos que expiram após um tempo. Por exemplo
// Items expire automatically after 10 seconds (Expiration period = 10 sec)
bool result = false;
// Starting from second 0
result = MyHashSet.Add("Bob"); // second 0 => true
result = MyHashSet.Add("Alice"); // second 5 => true
result = MyHashSet.Add("Bob"); // second 8 => false (item already exist)
result = MyHashSet.Add("Bob"); // second 12 => true (Bob has expired)
Como fazer isso com segurança e com custos mais baixos?