博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
懒汉式单例--双重检测锁实现线程安全
阅读量:4180 次
发布时间:2019-05-26

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

Football2.java

/** * 懒汉式单例 * 用的时候再创建一个对象,线程不安全 * @author Administrator * */class FootBall2 {        private static int count;        private static FootBall2 fb;	private FootBall2(){            System.out.println("初始化" + (count++) + "次");        }		public  static FootBall2 getFootBall(){		if(fb == null){			synchronized (FootBall2.class) {				if(fb == null){										fb = new FootBall2();								}			}		}		return fb;	}}

测试类SinglerTest2.j:

public class SinglerTest2 {	public static void main(String[] args) {		for (int i = 0; i < 100; i++) {			new Thread(new Runnable() {				@Override				public void run() {					System.out.println(Thread.currentThread().getName() + ":" + FootBall2.getFootBall());				}			}).start();		}	}}

结果:

初始化0次

Thread-5:dan_li.FootBall2@67deccdf
Thread-1:dan_li.FootBall2@67deccdf

...

 

转载地址:http://irqai.baihongyu.com/

你可能感兴趣的文章
消灭编译警告(Warning)
查看>>
(GCC) How can I hide "defined but not used" warnings in GCC?
查看>>
错误: 隐式声明函数‘kmalloc’ [-Werror=implicit-function-declaration]
查看>>
error: two or more data types in declaration specifiers原因及解决方法
查看>>
Linux驱动基础开发2
查看>>
ioctl在socket中的一些用法及示例
查看>>
Linux设备驱动--块设备(二)之相关结构体
查看>>
Linux设备驱动--块设备(四)之“自造请求”
查看>>
Nand Flash和Nor Flash相关知识
查看>>
NAND flash和NOR flash的区别
查看>>
writeb(), writew(), writel(),readb(), readw(), readl() 宏函数
查看>>
NOR Flash擦写和原理分析
查看>>
51单片机程序执行流程(STARTUP.A51)
查看>>
原码, 反码, 补码 详解
查看>>
Java自学第一阶段(二)- 小试牛刀
查看>>
Java自学第一阶段(三)- 万能的变量
查看>>
Java自学第一阶段(四)-万能的变量(2)
查看>>
HashMap存储原理以及与hashcode、equals方法的关系
查看>>
python3.6在windows下安装scrapy遇到的问题总结
查看>>
pycharm中打开scrapy项目,import scrapy报错问题
查看>>