博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
单例模式
阅读量:4358 次
发布时间:2019-06-07

本文共 1238 字,大约阅读时间需要 4 分钟。

1.单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点

2.lock 语句的含义:lock是确保当一个线程位于代码的临界区时,另一个线程不进入临界区。如果其他线程试图进入锁定的代码,则它将一直等待,直到该对象被释放

例子:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 单例模式{    class Program    {        static void Main(string[] args)        {            Singleton s1 = Singleton.GetInstance();            Singleton s2 = Singleton.GetInstance();            if (s1 == s2)            {                Console.Write("Objects are the same instance");            }            Console.ReadLine();        }    }    class Singleton    {        private static Singleton instance;        private static readonly object syncRoot = new object();        ///         /// 构造函数        ///         private  Singleton()        {        }        public static Singleton GetInstance()        {            //双重锁定            if (instance == null)            {                lock (syncRoot)                {                    if(instance==null)                    {                        instance = new Singleton();                    }                }            }            return instance;        }    }}

结果:

 

 

转载于:https://www.cnblogs.com/dong897812629/archive/2013/04/17/3026405.html

你可能感兴趣的文章
MyEclipse下SpringBoot+JSP整合过程及踩坑
查看>>
重定向和管道
查看>>
实验五
查看>>
STL学习笔记(第二章 C++及其标准程序库简介)
查看>>
Operator_countByValue
查看>>
Java 日期往后推迟n天
查看>>
Web应用漏洞评估工具Paros
查看>>
Git 和 Github 使用指南
查看>>
20180925-4 单元测试
查看>>
mysql的数据存储
查看>>
[转载] Activiti Tenant Id 字段释疑
查看>>
[Java 8] (8) Lambda表达式对递归的优化(上) - 使用尾递归 .
查看>>
SQL Server-聚焦移除Bookmark Lookup、RID Lookup、Key Lookup提高SQL查询性能
查看>>
最小权限的挑战
查看>>
jquery 视觉特效(水平滚动图片)
查看>>
SVG笔记
查看>>
linux下使用dd命令写入镜像文件到u盘
查看>>
001---进程
查看>>
视频人脸检测——OpenCV版(三)
查看>>
php获取来访者在搜索引擎搜索某个关键词,进入网站
查看>>