多线程环境下的单例实现
2015-09-22 00:27
357 查看
import java.util.concurrent.locks.ReentrantLock; public class Singleton { private static Singleton instance; private static ReentrantLock lock = new ReentrantLock(); private Singleton() {} public static Singleton getInstance() { if (instance == null) { try{ lock.lock(); if (instance != null){ return instance; } instance = new Singleton(); } finally{ lock.unlock(); } return instance; } else { return instance; } } public static void main(String[] args) { Thread[] threads = new Thread[100]; for (Thread t : threads) { t = new Thread(new Runnable() { @Override public void run() { System.out.println(getInstance()); } }); t.start(); } } }
相关文章推荐
- ios开始啦!
- 关于css排版的一些属性
- VBA字符串处理大全
- View的触摸事件处理
- 黑马北京新闻项目连载(5)--->ViewPagerIndicator结合PagerAdapter使用
- @property参数
- NOIP2006提高组:作业调度方案
- 第二次作业——结对项目之需求分析与原型模型设计
- eclipse相关设置及常用快捷键
- 使用OnTouchListener实现屏蔽子控件的焦点响应
- Zigbee系列 学习笔记四(睡眠及唤醒)
- 开始iOS 7中自动布局教程(一)
- 委托的内部机制
- JavaScript 数据类型
- 【每周一讲】Fiddler4的使用
- 怎么知道属性表的field的fieldtype
- POJ 1904 King's Quest(强连通分量+匹配)
- Unity中 Behavior Designer 行为树插件
- (启动H5本地存储)WebView显示网页出现Uncaught TypeError: Cannot call method 'getItem' of null异常
- java实现文件加密解密