首页 > 代码库 > java 实现支持多线程的单件模式
java 实现支持多线程的单件模式
在我们写程序时,经常会用到单件模式,单件模式是一个类只拥有一个实例对象(或者拥有多个固定数量的实例对象)。下面我给出一个使用多线程的单件模式demo。
package com;public class Single {<span style="white-space:pre"> </span><span style="white-space:pre"> </span>private static Single _instance = null;<span style="white-space:pre"> </span><span style="white-space:pre"> </span>private static Object lock = new Object();<span style="white-space:pre"> </span><span style="white-space:pre"> </span>//设置为私有构造函数,封死外部调用构造函数新建实例<span style="white-space:pre"> </span>private Single()<span style="white-space:pre"> </span>{<span style="white-space:pre"> </span>}<span style="white-space:pre"> </span><span style="white-space:pre"> </span>public static Single get()<span style="white-space:pre"> </span>{<span style="white-space:pre"> </span>if ( _instance == null )<span style="white-space:pre"> </span>{<span style="white-space:pre"> </span>//设置同步锁,以免多线程并发时,创建多个实例<span style="white-space:pre"> </span>synchronized (lock) {<span style="white-space:pre"> </span>if ( _instance == null )<span style="white-space:pre"> </span>{<span style="white-space:pre"> </span>return _instance = new Single();<span style="white-space:pre"> </span>}<span style="white-space:pre"> </span>}<span style="white-space:pre"> </span>}<span style="white-space:pre"> </span>return _instance;<span style="white-space:pre"> </span>}<span style="white-space:pre"> </span>}
java 实现支持多线程的单件模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。