固定大小的队列,在新入队时自动使旧值出队
||
我正在使用“ 0”作为共享数据结构,目的是保存传递给它的最后N个对象(历史记录)。
假设我们有一个浏览器,并且希望有最近浏览的100个Urls。我想要一个队列,当容量满(历史记录中有100个地址)时,该队列在新条目插入(入队)时会自动删除(出队)最旧的(第一个)条目。
如何使用
System.Collections
完成该操作?
没有找到相关结果
已邀请:
11 个回复
席酱
乏摩纶誊伟
疮痪徘弦漏
醒荒捆府绣
我喜欢使用
约定:
方法默认调用
。
方法可以自由修改状态而无需锁定,只能调用其他不安全的方法。
方法调用锁中的
方法。 它有点冗长,但会产生明显的错误,例如在应该是线程安全的方法的锁之外调用不安全的方法会更加明显。
缝皋
枫湃揩乾纲
皇小福另届
的子类。.没有什么特别的,但是看到每个人都参与,并且它仍然带有主题标题,我不妨放在这里。它也返回出队的,以防万一。
犀耽澄协吻
用法示例:
吠强祷豪硅
抢垢洛韧
编辑:在上面的示例中我们并不需要
,而我们可以使用
对象,因为我们不会在任何函数中重新初始化re25ѭ,并且无论如何它都标记为
。
街茬
我发现在IEnumerable的基础上构造一个构造函数很有用,并且在调用时让GetSnapshot拥有项的多线程安全列表(在这种情况下为数组)很有用,但事实并非如此。如果底层集合发生更改,则会出现错误。 双重计数检查是为了防止在某些情况下锁定。