Lazy

在C#中,Lazy< T> 类是一个非常有用的工具,它可以用于延迟加载值,尤其是在创建对象时可能很昂贵,或者你想要延迟初始化直到真正需要该值的情况下。在本文中,我们将详细介绍 Lazy< T> 的实现机制和用法,并提供一些示例来展示它的优势。

1、Lazy 的工作原理
Lazy< T> 类是.NET框架中的一个并发类,它允许你延迟初始化一个对象,直到这个对象被第一次使用时才进行。这意味着,如果多个线程需要访问同一个延迟初始化的对象,Lazy< T> 能够保证只有一个线程会执行初始化代码,从而避免不必要的资源消耗。

Lazy< T> 采用懒汉式初始化模式,在.NET Framework 4.0及之前的版本中,它是线程安全的,采用内部互斥锁(Mutex)来确保线程安全。但在.NET 4.0之后,Lazy< T> 采用了新的LazyInitializationMode.None模式,允许非线程安全且更高效的初始化,这时需要开发者自己确保初始化的线程安全。
————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/qq_35320456/article/details/138136641

posted on 2024-06-12 11:29  是水饺不是水饺  阅读(66)  评论(0)    收藏  举报

导航