c#题例-2025-09-24 04:07:26
日期: 2025-09-24 分类: AI写作 3次阅读
实现一个线程安全的LRU(Least Recently Used)缓存,要求支持以下操作:
1. `Get(int key)`:如果键存在则返回对应的值,并将该键值对移至缓存头部(表示最近使用);否则返回-1。
2. `Put(int key, int value)`:插入或更新键值对,若缓存已满则淘汰最久未使用的条目。
要求:
- 所有操作平均时间复杂度为 O(1)。
- 支持并发读写,保证线程安全,且高并发下性能良好。
- 不能使用内置的 `ConcurrentDictionary` 或 `ReaderWriterLockSlim`。
请编写完整的 C# 类实现,并说明关键设计决策。
除特别声明,本站所有文章均为原创,如需转载请以超级链接形式注明出处:SmartCat's Blog
标签:AI写作
上一篇:无
精华推荐