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

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

package Test;public class ThreadAndSingleton {	private ThreadAndSingleton() {	}	private static ThreadAndSingleton threadAndSingleton = null;	/**	 * 试试不加synchronized关键字,会出现两个实例的	 * @param sleepTime	 * @return	 */	public static synchronized ThreadAndSingleton getIntstance(int sleepTime) {		if (threadAndSingleton == null) {			try {				Thread.sleep(sleepTime);			} catch (InterruptedException e) {				e.printStackTrace();			}			threadAndSingleton = new ThreadAndSingleton();		}		return threadAndSingleton;			}	public static void main(String[] args) {		/**		 * 下面这就属于模型驱动模式		 */		Thread th1 = new Thread(new Runnable() {			@Override			public void run() {				System.out.println("th1:" + ThreadAndSingleton.getIntstance(1000));			}		});		Thread th2 = new Thread(new Runnable() {			@Override			public void run() {				System.out.println("th2:" + ThreadAndSingleton.getIntstance(0));			}		});		th1.start();		th2.start();	}}

  关于

getIntstance方法被同步的说明:如果不同步,同事访问这个方法可能造成进入后等待,然后另一次访问开始了,结果造成两个实例,就不是单例模式了。

转载于:https://www.cnblogs.com/mrye/archive/2012/05/14/2499841.html

你可能感兴趣的文章
简单的正则表达式方法字符串替换
查看>>
第三章:垃圾回收器-年轻代收集器
查看>>
页面置换算法
查看>>
Queries Union
查看>>
博客园今天将排名计算错误了
查看>>
Linux 关机和重启命令
查看>>
测试框架设计:初步
查看>>
[LeetCode] Meeting Rooms
查看>>
Python——eventlet.event
查看>>
sas函数
查看>>
BZOJ2654 & 洛谷2619:tree——题解
查看>>
BZOJ3571 & 洛谷3236:[HNOI2014]画框——题解
查看>>
BZOJ4104:[Thu Summer Camp 2015]解密运算——题解
查看>>
BZOJ2821:作诗——题解
查看>>
2019中国爱分析数据智能高峰论坛(北京)
查看>>
oracle数据库安装的注意事项
查看>>
【总结整理】微信7年起起伏伏的理解
查看>>
Javascript多线程引擎(九)
查看>>
Handler和AsyncTask
查看>>
Microbit Turnipbit 孩子也能做的声光控开关
查看>>