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

林业网站源码/怎样创建自己的网站

林业网站源码,怎样创建自己的网站,wordpress模板下载失败,网站开发竞争性谈判我们知道对于class和struct都可以定义构造函数,而构造函数又有实例构造函数和静态构造函数。实例构造函数在每次实例化时,都会执行一次。那静态构造函数是否如此呢?我们先来看一段代码: using System; using System.Collections.G…

我们知道对于class和struct都可以定义构造函数,而构造函数又有实例构造函数和静态构造函数。实例构造函数在每次实例化时,都会执行一次。那静态构造函数是否如此呢?我们先来看一段代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConstructorTest
{class Program{static void Main(string[] args){Console.WriteLine(CData.Num);///AConsole.WriteLine(CData.Num);///B           Console.ReadLine();}}public class CData{public static int Num = 0;static CData(){Num++;}}
}
我们猜测一下执行的结果:

A行输出的是1.这个比较容易想到,因为Num初始为0,在构造函数中执行了Num++,所以结果为1.

那B行输出的呢?会不会又执行了一次Num++,导致输出结果为2?我们来看输出的结果,见下图


我们看到,输出的结果都是1.

这是为什么?难道说Num++只执行了一次吗?我们设断点来看看。


从断点的执行顺序上看,每一次调用CData.Num时,进入到了CData的静态构造函数中,使得Num由0变成了1.而第二次调用CData.Num时,不再进入到CData的静态构造函数中,所以Num依然是1。

所以得出结论:静态构造函数只执行一次。

那有人会问,如果并发呢?

并发也依然会执行一次。因为在调用静态构造函数时,会先检测有没有被初始化(即有没有被调用过)。如果有,则直接跳过。如果没有,将进入静态构造函数内部。

在并发时,当有一个位置A在调用静态构造函数时,会检测该静态构造函数没有被初始化,如果没有被初始化,则进行初始化,并进入同步阻塞状态,其他的位置B虽然在并发调用,但会阻寒在这里。当位置A调用完成后,阻塞状态解除,位置B进入,这时会检测到构造函数已经被初始化了,所以直接跳过。而是否有没有被初始化的标志,是设置在AppDomain(程序域)的层级上的。

所以静态构造函数非常适合用在单件模式中。我们可以看一段《CLR via C#》一书中的一段说明:


结论:静态构造函数在程序域的层级确保了只会执行一次,且是线程安全的。所以非常适合于用在单件模式中(或者只需要单一对象的地方)。


转载请注明出处:http://blog.csdn.net/xxdddail/article/details/38058121


转载于:https://www.cnblogs.com/sparkleDai/p/7604991.html

http://www.jmfq.cn/news/4735765.html

相关文章:

  • 查看网站cms/搜索引擎排名机制
  • 租号网站开发/网站批量收录
  • 鲜花网站建设论文/路由优化大师
  • 广州网站设计开发/日本站外推广网站
  • asp动态网站开发教程/seo网络营销案例分析
  • 金融业反洗钱培训网站/百度app下载链接
  • 天津响应式网站设计/阐述网络推广的主要方法
  • 阿里云网站建设方案/西安seo排名外包
  • 财务网站模板/百度关键词怎么排名
  • 遵义做网站/如何做网络宣传推广
  • 濮阳的网站建设/日本比分预测
  • 公司网站制作重庆/关键词百度指数查询
  • 上海市公安网站备案查询/b2b b2c c2c o2o区别
  • 谷歌seo外贸推广/seo优化检测
  • 做哪个网站的推广好/最近有新病毒出现吗
  • 网站开发流程包括/seo扣费系统源码
  • 做电商网站都需要学什么软件/谷歌浏览器官网入口
  • 网站首页图片怎么更换/关键词点击价格查询
  • 路由器电脑可以做网站主机/线上招生引流推广方法
  • 招聘网站排行榜/站长工具外链查询
  • 城阳网站建设培训/优化器
  • 墙蛙网站谁家做的/搜狗搜索推广
  • server 2008 架设网站/免费b站推广入口
  • 做的网站能撤掉吗/seo百家论坛
  • 深圳网站推广哪家好/丽水百度seo
  • 宁波市城乡建设委员会网站/微信seo什么意思
  • 做类似返利网的网站/南宁网络优化seo费用
  • 猪八戒网做网站如何/泾县网站seo优化排名
  • 建网站代理/帮我搜一下长沙做网络销售
  • 怎么做自己的网站后台教程/产品推广运营方案