有没有一种方法可以将一个对象封装成ConcurrentObject?

3

我知道如何使用ConcurrentDictionary<TKey, TValue>类并使用GetOrAdd()方法非常好。是否有一个类似的类只针对单个对象?我不想为了获取并发性而创建单个对象的字典。


现在,我正在执行以下操作:

return _singledict.GetOrAdd(_sync, CreateSingleItem);

请注意,GetOrAdd 可能会为相同的键多次调用工厂。除了一个结果外,其余结果都将被丢弃。 - usr
你真的需要使用 GetOrAdd 的效果吗?还是说你只是想每次返回一个新的 KeyValuePair - Yuval Itzchakov
1个回答

4

看起来你想要一些方式来访问已经构建的现有对象,如果没有构建该对象,则构建一个新对象,并放置适当的工具以防止构建多个对象。

这正是Lazy<T>存在的原因。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接