什么是单例模型?
单例模型:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
大概意思就是:在你调用一个类的时候,避免你多次的重复调用。(虽然调用的时间很短)
方法实现:(单线程)
public class Singleton //创建一个类
{
public Singleton()//所需要实例化的类的方法
{
int number = 0;
for (int i = 0; i < 100000000; i++)
{
number += i;
}
Console.WriteLine("初始化");
Console.WriteLine("number:{0}", number);
}
}
public int id { get; set; }
public void Write()
{
Console.WriteLine("单例模型!!!!");
}
}
方法实现:
static void Main(string[] args)
{
for (int i = 0; i < 10; i++)
{
Singleton singleton = new Singleton();
singleton.Write();
}
Console.ReadKey();
}
主要实现方法:
1.先循环10次实例化方法。在实例化方法中,for循环100000000次,然而你每次都去调用这个实例化,调用一次就会循环100000000次。怎么才能实现循环10次实例化方法就调用一次呢?很简单,加一个if判断就可以了。
public class Singleton
{
private static bool a = false;
public Singleton()
{
int number = 0;
if (a == false)
{
a = true;
for (int i = 0; i < 100000000; i++)
{
number += i;
}
Console.WriteLine("初始化");
Console.WriteLine("number:{0}", number);
}
else
{
Console.WriteLine("滴 滴滴!!");
}
}
public int id { get; set; }
public void Write()
{
Console.WriteLine("单例模型!!!!");
}
}
我在代码中加了一个if判断,判断a是不是true或false。a必须是静态的哦。
这样就实现了单例模型(单线程)。
新手,有不足之处敬请谅解。
网友评论