gpt4 book ai didi

c# - 如何限制 BlockingCollection 大小但不断添加新的 itens(.NET 大小有限的 FIFO)?

转载 作者:行者123 更新时间:2023-11-30 20:57:11 24 4
gpt4 key购买 nike

我想限制 BlockingCollection 的大小。如果我想添加另一个项目并且集合已满,则必须删除最旧的项目。是否有一些特定于此任务的类,或者我的解决方案是否合适?

        BlockingCollection<string> collection = new BlockingCollection<string>(10);

string newString = "";
//Not an elegant solution?
if (collection.Count == collection.BoundedCapacity)
{
string dummy;
collection.TryTake(out dummy);
}
collection.Add(newString);

EDIT1:类似问题在这里:ThreadSafe FIFO List with Automatic Size Limit Management

最佳答案

您所描述的是 LRU 缓存。据我所知,标准库中没有实现,但创建起来并不难。看看这个 c++ implementation一些线索。


编辑

尝试 this one来自代码项目

关于c# - 如何限制 BlockingCollection 大小但不断添加新的 itens(.NET 大小有限的 FIFO)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17031718/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com