C#开发的OpenRA游戏之延时初始化Lazy<T> 类
Lazy<T> 是一个类,用于实现延时加载(Lazy Initialization)。延时加载是指对象的创建被推迟,直到第一次被使用时。Lazy<T> 允许你在第一次访问对象时进行初始化,这对于大型或资源密集型对象的性能优化非常有用。你可以通过提供一个委托(Delegate)来延迟初始化对象,Lazy<T> 确保所有线程使用同一个延时加载对象的实例,并且丢弃未使用的实例,从而优化内存使用。
下面来通过一个例子来演示使用这个类:
using System;
using System.Threading;namespace ConsoleApp5
{internal class Program{//定义一个延时加载的全局变量,用于保存大对象。static Lazy<LargeObject>? lazyLargeObject = null;static void Main(string[] args){// 在这里创建一个延时加载对象,这个对象不会立即创建,直到线程方法执行才会创建。lazyLargeObject = new Lazy<LargeObject>(()=>{