zoukankan      html  css  js  c++  java
  • Lazy 延迟加载

        问题:最近遇到一个项目遇到一个问题(很久的项目,现阶段主要维护),程序初始化的时候比较慢,最后查原因的时候发现是因为一个类的构造方法里面有些逻辑,

        解决办法:希望在使用的时候再进行加载,最后想到了延迟加载(Lazy)

      一、由于实际项目不好贴源代码,先简单模拟数据

          

    public class Student
    {
        public Student()
        {
            this.Name = "DefaultName";
            this.Age = 0;
            Thread.Sleep(2000);//模拟延时操作
            Console.WriteLine("Student is init...");
        }
    
        public string Name { get; set; }
        public int Age { get; set; }
    }

    二、延迟加载处理

                Lazy<Student> student = new Lazy<Student>();
    
                //在这可以输写一部分业务逻辑。。。。。
                Console.WriteLine("业务逻辑编写。。。");
                
                Console.WriteLine("student对象是否被创建:"+student.IsValueCreated);
                student.Value.Name = "lxsh";
                Console.WriteLine("student对象是否被创建:"+student.IsValueCreated); 
    三、运行截图
    
    
  • 相关阅读:
    笔试题 1.3 百度 2012 10.09 简答题 + 程设 --A
    windows中搜索dll的顺序
    笔试题 1.2 关于大文件处理:
    笔试题 1.1 最少比赛数目
    小优化
    LightOJ
    LightOJ
    LightOJ
    LightOJ
    LightOJ
  • 原文地址:https://www.cnblogs.com/lxshwyan/p/10785123.html
Copyright © 2011-2022 走看看