我最近开始在整个应用程序中使用Lazy,我想知道在使用Lazy<T>
时是否需要考虑任何明显的负面影响?
[我正尝试酌情利用Lazy<T>
,主要是为了减少已加载但不活动的插件的内存占用。
我最近开始在整个应用程序中使用Lazy,我想知道在使用Lazy时是否需要考虑任何明显的负面影响
我将在评论中扩大一点,内容为:
Lazy<T>
,主要是因为它具有并发功能,可从数据库中加载资源。因此,我摆脱了锁定对象和可争论的锁定模式。在我的情况下,感谢@Reed Copsey和他的ConcurrentDictionary
Lazy<T>
可以用于善恶,因此有一个缺点:如果使用不当,会导致混乱和沮丧。但是,懒惰的初始化模式已经存在了很多年,现在.NET BCL具有实现,开发人员无需再次发明轮子。而且,MEF loves Lazy。“贯穿我的整个申请”