1

我需要实现一个链表,链表中的每条记录都将具有“TTL:生存时间”变量作为成员之一。因此,每次在链表中创建记录时,都会将 TTL 设置为某个值并启动计时器。一旦计时器到期,必须立即从链表中删除记录。

我想知道这是否可以在 C 中实现,如果可以,如何实现?

4

1 回答 1

2

最简单的实现是给每个记录一个live until(定义为current time + ttl正在创建的记录)并忽略所有带有live until < current time.

这样您就可以选择何时删除过期记录。也许您想在使用列表的所有函数的开头执行此操作。也许您想要一个计时器,它每秒执行一次。也许是这些的某种组合。

为每条记录设置一个计时器很可能没有意义。

于 2013-09-21T08:29:41.207 回答