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

网站开发需要数据库技术/关键词seo公司

网站开发需要数据库技术,关键词seo公司,郑州网站建设外贸,怎么做一家网站单体模式(Singleton)是经常为了保证应用程序操作某一全局对象,让其保持一致而产生的对象,例如对文件的读写操作的锁定,数据库操作的时候的事务回滚,还有任务管理器操作,都是一单体模式读取的。 …

单体模式(Singleton)是经常为了保证应用程序操作某一全局对象,让其保持一致而产生的对象,例如对文件的读写操作的锁定,数据库操作的时候的事务回滚,还有任务管理器操作,都是一单体模式读取的。
创建一个单体模式类,必须符合三个条件:
1:私有构造函数(防止其他对象创建实例);
2:一个单体类型的私有变量;
3:静态全局获取接口
下面我写一个类,为了看是不是单体,就加了一个计数器,如果是同一个类,那么这个类的计数每次调用以后就应该自动加一,而不是重新建对象归零:
.NET c# 单体模式

 

ExpandedBlockStart.gif代码
using System;
using System.Threading;
public class Singleton
{
    
private int ObjCount = 0;
    
private Singleton()
    {
        Console.WriteLine(
"创建对象");
    }
    
private static Singleton objInstance = null;
    
public static Singleton getInstance()
    {
        
if (objInstance == null) objInstance = new Singleton();
        
return objInstance;
    }
    
public void ShowCount()
    {
        ObjCount
++;
        Console.WriteLine(
"单个对象被调用了{0}次", ObjCount);
    }
};

 

然后我们来测试一下:

 

ExpandedBlockStart.gif代码
public class ConsoleTest
{
    
public static void Main(string[] args)
    {
        Console.WriteLine(
"开始执行单体模式");
        
for (int i = 0; i < 5; i++)
        {
            Singleton.getInstance().ShowCount();
        }
        Console.ReadLine();
    }
};

 

我在这个Main里面执行了5次,看看输出的结果:
开始执行单体模式
创建对象
单个对象被调用了1次
单个对象被调用了2次
单个对象被调用了3次
单个对象被调用了4次
单个对象被调用了5次
在这里可以看出,每次都是使用的同一个对象,实现了单体。
为了测试在多线程下面是否是单体,下面我写了一个多线程测试的:
ExpandedBlockStart.gif代码

class ApartmentTest
{
    
public static void RunMoreThread()
    {
        Thread newThread 
= new Thread(new ThreadStart(ThreadSingleMethod));
        newThread.SetApartmentState(ApartmentState.MTA);
        Console.WriteLine(
"ThreadState: {0}, ApartmentState: {1},ManagedThreadId:{2}", newThread.ThreadState, newThread.GetApartmentState(), newThread.ManagedThreadId);
        newThread.Start();
    }
    
public static void ThreadSingleMethod()
    {
        Singleton.getInstance().ShowCount();
    }
};

 

然后每次for循环执行ApartmentTest.RunMoreThread();
再看看输出的结果:开始执行单体模式

ThreadState: Unstarted, ApartmentState: MTA,ManagedThreadId:3 

 创建对象
单个对象被调用了1次

ThreadState: Unstarted, ApartmentState: MTA,ManagedThreadId:4 

单个对象被调用了2次

ThreadState: Unstarted, ApartmentState: MTA,ManagedThreadId:5 

  单个对象被调用了3次 

ThreadState: Unstarted, ApartmentState: MTA,ManagedThreadId:6 

单个对象被调用了4次

ThreadState: Unstarted, ApartmentState: MTA,ManagedThreadId:7 

单个对象被调用了5次
根据ManagedThreadId,可以看出不同的线路访问达到了单体,OK!
c#的单体模式介绍完毕;

转载于:https://www.cnblogs.com/qiantuwuliang/archive/2010/01/03/1638364.html

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

相关文章:

  • 商城网站建设公司/搜索百度网页版
  • 想学设计怎么入门在家自己学/重庆关键词seo排名
  • 云南做网站价格/品牌营销策略有哪些
  • 网站推广是做什/石家庄头条今日头条新闻
  • 建设学院网站的通知书/产品推广策略
  • 广告行业网站建设方案/广告营销案例分析
  • 烟台网站制作策划/营销型网站设计制作
  • 海外代购网站怎么做/常见的网站推广方式
  • 河北高端网站建设/运营是做什么的
  • 如何做公众号小说网站赚钱/直通车怎么开
  • 做网站的公司多少钱/福建seo推广方案
  • 政府网站建设如何做/北京seo相关
  • 网站建设 商城/免费友情链接
  • 西安本地十家做网站建设的公司/营销型网站定制
  • 网站群建设项目招标公告/网络营销的缺点及建议
  • 汕头网站设计制作公司/链接下载
  • 中国铁建华南建设有限公司网站/深圳疫情防控最新消息
  • 如何做自己的在线作品网站/百度怎么发免费广告
  • 做网站认证违法吗/免费网页制作平台
  • 网站申请注册 免备案/加强服务保障 满足群众急需需求
  • 建设企业网站模板/免费下载百度到桌面
  • 高端网站建设方案报价/seo俱乐部
  • 漳州网站建设哪家好/发文章用哪个平台比较好
  • 一般网站的后台怎么做的/站长工具日本
  • mac上如何使用wordpress/整站优化seo平台
  • 做网站交易平台/pc网站建设和推广
  • 9元包邮网站怎么做/最新国际新闻 大事件
  • 陕西省住房和城乡建设厅官网查询/移投界seo
  • 网站推广 软件/专业做加盟推广的公司
  • 桂林市地图全图高清版/武汉标兵seo