我需要同步一个关键部分,但前提是代码使用相同的数据(由对象的is确定)。这就是为什么我实现了一个锁对象容器,它基于字符串标识符动态创建锁对象。锁对象存储在字典中,如果有人要求一个具有相同密钥的对象,则重新使用。
问题是,锁定键和锁对象的组合数以百万计,它们目前停留在字典中,并且永远占用内存。
如何设计这样的字典,以便它删除不必要的锁对象,从而释放内存?
我的想法:
我还有别的选择吗?
发布于 2022-11-30 08:44:53
我知道这个问题很老,但是如果有人偶然发现了这个问题,并且有同样的问题,请看一下AsyncKeyedLock,它解决了这个问题。您可以使用:
using (await _locker.LockAsync(myObject.Id))
{
...
}https://stackoverflow.com/questions/24355097
复制相似问题