当前位置: 首页 > news >正文

上海设计网站公司seo一个月赚多少钱

上海设计网站公司,seo一个月赚多少钱,网站1g的空间能用多久,怎么给网站加速在.net 4.0中增加一个延迟加载类LazyT#xff0c;它的作用是实现按需延迟加载#xff0c;也许很多人用过。一个典型的应用场景是这样的#xff1a;当初始化某个对象时#xff0c;该对象引用了一个大对象#xff0c;需要创建#xff0c;这个对象的创建时需要较长的…  在.net 4.0中增加一个延迟加载类LazyT它的作用是实现按需延迟加载也许很多人用过。一个典型的应用场景是这样的当初始化某个对象时该对象引用了一个大对象需要创建这个对象的创建时需要较长的时间同时也需要在托管堆上分配较多的空间这样可能会在初始化时变得很慢尤其是UI应用时会导致用户体验很差。其实狠多时候并不需要马上就获取大数据只是在需要时获取这种场景就很适合延迟加载了。先看看c#中LazyT如何使用的吧 class LargeObject {public int InitializedBy { get { return initBy; } }int initBy 0;public LargeObject(int initializedBy){initBy initializedBy;Console.WriteLine(LargeObject was created on thread id {0}., initBy);}public long[] Data new long[100000000]; } class TestLazy {LazyLargeObject lazyLargeObject null;public TestLazy(){//创建一个延迟加载对象lazyLargeObject new LazyLargeObject(InitLargeObject);}public void ReallyLoad(){//此时真正加载lazyLargeObject.Value;Console.WriteLine(lazy load big object);//do something} }void Test() {TestLazy t new TestLazy();t.ReallyLoad(); //这时真正延迟加载时才会打印lazy load big object }      c中目前还没有类似的LazyT延迟加载类其实延迟加载类内部用到了lamda表达式将函数封装到lamda表达式中去而不是马上求值而是在需要的时候再调用lamda表达式去求值。c11 中有lamda表达式和function正好做这个事情看看c11如何实现类似c#的LazyT延迟加载类吧。 #include boost/optional.hpp templatetypename T struct Lazy {Lazy(){}template typename Func, typename... ArgsLazy(Func f, Args ... args){m_func [f, args...]{return f(args...); };}T Value(){if (!m_value.is_initialized()){m_value m_func();}return *m_value;}bool IsValueCreated() const{return m_value.is_initialized();}private:std::functionT() m_func;boost::optionalT m_value; };templateclass Func, typename... Args Lazytypename std::result_ofFunc(Args...)::typelazy(Func fun, Args ... args) {return Lazytypename std::result_ofFunc(Args...)::type(std::forwardFunc(fun), std::forwardArgs(args)...); } 再看看测试代码 struct BigObject {BigObject(){cout lazy load big object endl;} };struct MyStruct {MyStruct(){m_obj lazy([]{return std::make_sharedBigObject(); });}void Load(){m_obj.Value();}Lazy std::shared_ptrBigObject m_obj; };int Foo(int x) {return x * 2; }void TestLazy() {//带参数的普通函数int y 4;auto lazyer1 lazy(Foo, y);cout lazyer1.Value() endl;//不带参数的lamdaLazyint lazyer2 lazy([]{return 12; });cout lazyer2.Value() endl;//带参数的fucntionstd::function int(int) f [](int x){return x 3; };auto lazyer3 lazy(f, 3);cout lazyer3.Value() endl;//延迟加载大对象MyStruct t;t.Load(); } 输出结果 8 12 6 lazy laod big object     这个LazyT类可以接收lamda表达式和function实现按需延迟加载。和c#的LazyT用法类似。不过还没c#中LazeT那么强大没有增加线程策略在里面目前还不想做得更复杂简单够用就行。 c11 boost技术交流群296561497欢迎大家来交流技术。转载于:https://www.cnblogs.com/qicosmos/p/3388704.html
http://www.zqtcl.cn/news/444134/

相关文章:

  • 大家都在哪些网站上做医药招商wordpress po文件
  • 国外主题网站兰州app
  • 建设项目自主验收公示网站dedecms英文外贸网站企业模板下载
  • 做网站要服务器吗前端企业网站开发
  • 用html写一个个人介绍多网站怎么做seo
  • 做网站打广告犯法吗中国建设投资集团 网站首页
  • 怎么免费申请个人网站职业技能培训有哪些
  • 小型的企业网站湖南备案网站建设方案书
  • 现在做网站公司seo怎么做教程
  • asp化妆品网站windows优化大师有必要安装吗
  • 网站流量分析系统制作图片网站
  • 做网站技术路线广州番禺发布公众号
  • 企业网站自己可以做吗服装网站建设的利益分析
  • 网站做软件居众装饰集团有限公司
  • 南山网站制作联系电话芒果国际影城星沙店
  • 珠海网站设计费用建企业版网站多久
  • linux 网站搬家wordpress 卸载plugin
  • 江苏省建设厅网站 投诉编辑网站的软件手机
  • 深圳地图各区分布图seo网络优化师就业前景
  • 北京网站备案代理国家企业信用信息公示系统广东
  • 推销网站重庆网站优化公司哪家便宜
  • 外贸公司网站搭建礼品网站建设
  • 网站建设 今晟网络中国制造网官网登录
  • 东莞网站设计如何常州做网站设计
  • php网站数据库修改网站备案有必要吗
  • 电商会学着做网站呢WordPress又拍云cdn
  • 网站健设推广产品多少钱网站规划有什么意义
  • 诚信网站备案中心内江网站建设新闻
  • 品牌形象网站有哪些百度应用中心
  • 网站建设找什么工作室甜点网站建设的功能及意义