社区
Java SE
帖子详情
(求助)单立模式的对象,如果保证同一时刻只有一个线程获得了它的引用?
windew
2004-08-11 05:04:24
很长时间不用Java了,使用起来有点别扭。
我设计了一个类,使用了单立模式,现在我想要在getInstance()方法中加上同步锁,用于确保同一时刻只有一个线程获得了这个类唯一的那个对象的引用。如何实现?
public static synchronized Object getInstance();
请问,这种方式能实现我的需求吗?
我觉得好像是不行吧,还有没有其他的解决方案?
十万火急,请大家帮帮忙。
...全文
124
4
打赏
收藏
(求助)单立模式的对象,如果保证同一时刻只有一个线程获得了它的引用?
很长时间不用Java了,使用起来有点别扭。 我设计了一个类,使用了单立模式,现在我想要在getInstance()方法中加上同步锁,用于确保同一时刻只有一个线程获得了这个类唯一的那个对象的引用。如何实现? public static synchronized Object getInstance(); 请问,这种方式能实现我的需求吗? 我觉得好像是不行吧,还有没有其他的解决方案? 十万火急,请大家帮帮忙。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
windew
2004-08-16
打赏
举报
回复
kongkongye(飘在空中的汽水瓶):感谢你的参与,不过,在线程之间加锁时,是不能使用自定义的信号量的,因为它不是原子性操作。:)
kongkongye
2004-08-11
打赏
举报
回复
既然是单例模型,那么,他对外提供的使用单例的接口就是唯一确定的。
可增加一个boolean 型类变量,初始为false ,在接口中判断并且设定它,当该单例已被使用时,设变量为true。在接口中,首先,判断该变量,若true, return null;若false,return theSimpleObject;
windew
2004-08-11
打赏
举报
回复
我尝试了如下的方式:
public static Object getInstance();
Object object = Object.getInstance();
synchronized (object){
}
这样就可以了吗?我大概测试了一下,好像是可以了
rainight
2004-08-11
打赏
举报
回复
你首先保证能够获得这个类的唯一实例,其次,在线程中对这个实例加锁,这样,就不会有两个以上的线程对这个单例并发访问
线程
、进程
进程是指在系统中正在运行的
一个
应用程序;
线程
是系统分配处理器时间资源的基本单元,或者说进程之内独立执行的
一个
单元。对于操作系统而言其调度单元是
线程
。
一个
进程至少包括
一个
线程
,通常将该
线程
称为主
线程
。
一个
进程从主
线程
的执行开始进而创建
一个
或多个附加
线程
,就是所谓基于多
线程
的多任务。那进程与
线程
的区别到底是什么?进程是执行程序的实例。例如,当你运行记事本程序(Nodepad)时,你就创建了
一个
用来容纳
设计
模式
-实习期笔记
阶段:第二阶段 计划时间:1.17-1.21 计划内容: 1、UML建模图,类图、流程图、时序图等 2、常用设计
模式
学习:单例
模式
、工厂
模式
、代理
模式
、策略
模式
、原型
模式
、委派
模式
、模板
模式
、观察者
模式
、装饰器
模式
等 笔记内容 面向
对象
设计原则 单一职责
一个
类只负责
一个
功能领域中的相应职责,或者可以定义为:就
一个
类而言,应该只有
一个
引起它变化的原因。 实现高内聚、低耦合的指导方针 抽象化是开闭原则的关键 开闭原则
一个
软件实体应当对扩展开放,对修改关闭。即软件实体应尽量在不修改原有代码的情况下进行扩展
线程
面试题二
首页所有文章资讯Web架构基础技术书籍教程Java小组工具资源 Java
线程
面试题 Top 502014/08/21 | 分类: 基础技术 | 27 条评论 | 标签: 多
线程
, 面试题分享到:692 本文由 ImportNew - 李 广 翻译自 javarevisited。欢迎加入翻译小组。转载请见文末要求。不管你是新程序员还是老手,你一定在面试中遇到过有
设计
模式
之十
一个
行为型
模式
的相关知识,简单易懂。
一、 职责链
模式
-Chain of Responsibility Pattern 1) 请求的链式处理——职责链
模式
(一) “一对二”,“过”,“过”……这声音熟悉吗?你会想到什么?对!纸牌。在类似“斗地主”这样的纸牌游戏中,某人出牌给他的下家,下家看看手中的牌,如果要不起上家的牌则将出牌请求再转发给他的下家,其下家再进行判断。
一个
循环下来,如果其他人都要不起该牌,则最初的出牌者可以打...
掌握P5级Java面试技巧
HashMap底层原理,扩容机制,jdk8以后会使用红黑树优化?红黑树和二叉平衡树的区别,红黑树和B树,B+树的区别,Mysql二大引擎索引底层实现,HashMap在多
线程
环境中为何出错?ConcurrentHashMap底层实现,CAS,原子
引用
,ABA问题,volatile,如何解决HashMap出现的OOM问题?(WeakHashMap) HashMap是Map的
一个
实现类,它是以键值对存储数据的,Key-Value都是Map.Entry中的属性。当我们向HashMap中存放
一个
元素(k1,v1)
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章