boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 刚才有个讨论singleton的帖子,找不到了
相关主题
how to create thread-safe singleton?
Blackrock onsite
Job Opening: Verification Engineer II
leetcode OJ 不能使用exception?
在redmond微软的同学可以进一下吗,有个面试机会请教
刚开始准备,突然有个店面,请问该如何突击一下更有效率
请教一下面试中怎么写unit test比较好?
请教1个工作面试题
C++ Q65: recompiling (IB)
Please recommend a C++ book for interview
相关话题的讨论汇总
话题: singleton话题: java话题: modifier话题: psingleton话题: 能帮
进入JobHunting版参与讨论
1 (共1页)
c********t
发帖数: 5706
1
谁能帮我找一下,多谢!
x*********w
发帖数: 533
2

大牛最后去哪了?

【在 c********t 的大作中提到】
: 谁能帮我找一下,多谢!
l*****a
发帖数: 14598
3
走自己的路,关心别人没意义

【在 x*********w 的大作中提到】
:
: 大牛最后去哪了?

w****a
发帖数: 710
4
设计模式那个?讨论什么内容?
关于多线程的还是啥
p*****2
发帖数: 21240
5

大牛先说说?

【在 w****a 的大作中提到】
: 设计模式那个?讨论什么内容?
: 关于多线程的还是啥

w****a
发帖数: 710
6
二爷抬举了,我不是大牛、、、
我觉得singleton在C++里面有几个要注意的。别的语言我也不熟悉就不说了。
一个是跨dll的链接问题。如果是模板的singleton那种继承下来那种,比如
class foo: public singleton
这样的,继承下来的时候注意要显示的声明一下singleton的getInstance之类的函数。
否则跨dll可能会报链接错误。
一个是singleton的生命周期管理问题。就是注意初始化释放的顺序别弄乱了。有些大
型程序,比如说很多个manager,都是以singleton的形式搞的,初始化和释放顺序要自
己手动把握好。
一个是多线程下的singleton问题了。getInstance的时候搞个锁就行。
还有没有大牛有其他的建议?
c********t
发帖数: 5706
7
青蛙一只,还在求收留中。。。

【在 x*********w 的大作中提到】
:
: 大牛最后去哪了?

c********t
发帖数: 5706
8
我觉得Design pattern,二爷也应该总结一下。
好像是有人问,为什么singleton要用 static, 有人回答为了thread safe。俺赶脚不
太对吧。static 我觉得是为了global access.要thread safe,还要单独考虑,比如
synchronized instance creation.

【在 w****a 的大作中提到】
: 设计模式那个?讨论什么内容?
: 关于多线程的还是啥

c********t
发帖数: 5706
9
我这里也有个基础问题。java里 为了防止用new create singleton class instance,
需要把 construct class scope设为private, 可是这样就不能继承了啊?
如何既能可以被继承,又可以保持singleton性质?

【在 w****a 的大作中提到】
: 二爷抬举了,我不是大牛、、、
: 我觉得singleton在C++里面有几个要注意的。别的语言我也不熟悉就不说了。
: 一个是跨dll的链接问题。如果是模板的singleton那种继承下来那种,比如
: class foo: public singleton
: 这样的,继承下来的时候注意要显示的声明一下singleton的getInstance之类的函数。
: 否则跨dll可能会报链接错误。
: 一个是singleton的生命周期管理问题。就是注意初始化释放的顺序别弄乱了。有些大
: 型程序,比如说很多个manager,都是以singleton的形式搞的,初始化和释放顺序要自
: 己手动把握好。
: 一个是多线程下的singleton问题了。getInstance的时候搞个锁就行。

w****a
发帖数: 710
10
我觉得可以搞个友元,委托给一个manager来专门new。

【在 c********t 的大作中提到】
: 我这里也有个基础问题。java里 为了防止用new create singleton class instance,
: 需要把 construct class scope设为private, 可是这样就不能继承了啊?
: 如何既能可以被继承,又可以保持singleton性质?

相关主题
leetcode OJ 不能使用exception?
在redmond微软的同学可以进一下吗,有个面试机会请教
刚开始准备,突然有个店面,请问该如何突击一下更有效率
请教一下面试中怎么写unit test比较好?
进入JobHunting版参与讨论
x*****0
发帖数: 452
11
mark
c********t
发帖数: 5706
12
java 没有友元啊,不过基本上同一个package相当于friend, 就是用default modifier
。但这样就造成同一个package的都可以用new来create instance, 就不能保证
singleton了。

【在 w****a 的大作中提到】
: 我觉得可以搞个友元,委托给一个manager来专门new。
w****a
发帖数: 710
13
那也好办,创建实例的时候assert一下,是否是null。其实这个是最简单的。
类似于这样:
Singleton( void )
{
Assert( !s_pSingleton );
s_pSingleton = static_cast( this );
}

modifier

【在 c********t 的大作中提到】
: java 没有友元啊,不过基本上同一个package相当于friend, 就是用default modifier
: 。但这样就造成同一个package的都可以用new来create instance, 就不能保证
: singleton了。

g**e
发帖数: 6127
14
singleton这种anti-pattern的东西还是少用。
银行的人喜欢让你实现thread safe lazy initialization singleton,已显摆他们知
道double checked locking. IT公司面试我被问过singleton的缺点是什么,我觉得这
个题更好

modifier

【在 c********t 的大作中提到】
: java 没有友元啊,不过基本上同一个package相当于friend, 就是用default modifier
: 。但这样就造成同一个package的都可以用new来create instance, 就不能保证
: singleton了。

c********t
发帖数: 5706
15
明白了,多谢!

【在 w****a 的大作中提到】
: 那也好办,创建实例的时候assert一下,是否是null。其实这个是最简单的。
: 类似于这样:
: Singleton( void )
: {
: Assert( !s_pSingleton );
: s_pSingleton = static_cast( this );
: }
:
: modifier

c********t
发帖数: 5706
16
想了半天,感觉只是为了需要啊。请指点一下缺点是什么吧?

【在 g**e 的大作中提到】
: singleton这种anti-pattern的东西还是少用。
: 银行的人喜欢让你实现thread safe lazy initialization singleton,已显摆他们知
: 道double checked locking. IT公司面试我被问过singleton的缺点是什么,我觉得这
: 个题更好
:
: modifier

g**e
发帖数: 6127
17
真正意义上(比如java class loader level)的singleton的需要非常非常少。大部分都
可以用spring dependency injection.
缺点么,给singleton写个unit test看看?global variable总的来说越少越好。加一
堆lock影响性能。另外spring inject的java ben默认就是singleton (
ApplicationContext level)

们知
得这

【在 c********t 的大作中提到】
: 想了半天,感觉只是为了需要啊。请指点一下缺点是什么吧?
p*****2
发帖数: 21240
18

DP我不懂呀。这东西好像就在Java那里提的特别多吧?你能不能先总结一下?

【在 c********t 的大作中提到】
: 我觉得Design pattern,二爷也应该总结一下。
: 好像是有人问,为什么singleton要用 static, 有人回答为了thread safe。俺赶脚不
: 太对吧。static 我觉得是为了global access.要thread safe,还要单独考虑,比如
: synchronized instance creation.

c********t
发帖数: 5706
19
嗯,明白了,多谢。一般只会在必要的时候用,性能也只能委屈了。

【在 g**e 的大作中提到】
: 真正意义上(比如java class loader level)的singleton的需要非常非常少。大部分都
: 可以用spring dependency injection.
: 缺点么,给singleton写个unit test看看?global variable总的来说越少越好。加一
: 堆lock影响性能。另外spring inject的java ben默认就是singleton (
: ApplicationContext level)
:
: 们知
: 得这

p*****2
发帖数: 21240
20

对于core java来说怎么理解?

【在 g**e 的大作中提到】
: 真正意义上(比如java class loader level)的singleton的需要非常非常少。大部分都
: 可以用spring dependency injection.
: 缺点么,给singleton写个unit test看看?global variable总的来说越少越好。加一
: 堆lock影响性能。另外spring inject的java ben默认就是singleton (
: ApplicationContext level)
:
: 们知
: 得这

相关主题
请教1个工作面试题
C++ Q65: recompiling (IB)
Please recommend a C++ book for interview
工作机会 data scientist@experian datalab, San Diego
进入JobHunting版参与讨论
c********t
发帖数: 5706
21
其实大公司面试,问的不算多。根据CC150上说的,面试也就靠两种design pattern,
singleton and factory method.的基本概念吧。

【在 p*****2 的大作中提到】
:
: 对于core java来说怎么理解?

p*****2
发帖数: 21240
22

所以没必要总结了?

【在 c********t 的大作中提到】
: 其实大公司面试,问的不算多。根据CC150上说的,面试也就靠两种design pattern,
: singleton and factory method.的基本概念吧。

c********t
发帖数: 5706
23
en.haha.你的h2o 那题总结出来了吗?给个解法吧。

【在 p*****2 的大作中提到】
:
: 所以没必要总结了?

p*****2
发帖数: 21240
24

我就是按照LZ那个思路做的。

【在 c********t 的大作中提到】
: en.haha.你的h2o 那题总结出来了吗?给个解法吧。
c********t
发帖数: 5706
25
可是第二问,lz说用了两个objects.两个objects 不能互相notify对方的threads.怎么
能在满足条件的时候,唤醒对方呢?能把你的codes发给我看看吗?

【在 p*****2 的大作中提到】
:
: 我就是按照LZ那个思路做的。

c********r
发帖数: 286
26
用enum实现singleton好像更简单方便些,不知道gate大侠在实际应用中是否用过,感
觉如何

【在 g**e 的大作中提到】
: singleton这种anti-pattern的东西还是少用。
: 银行的人喜欢让你实现thread safe lazy initialization singleton,已显摆他们知
: 道double checked locking. IT公司面试我被问过singleton的缺点是什么,我觉得这
: 个题更好
:
: modifier

u*********r
发帖数: 176
27
我不知道Java这种用enum实现singleton或者把enum拿来当class的用法到底是不是hack
,反正看着很不爽。。。

【在 c********r 的大作中提到】
: 用enum实现singleton好像更简单方便些,不知道gate大侠在实际应用中是否用过,感
: 觉如何

c********r
发帖数: 286
28
enum还是相对来讲比较新,
不知道实际应用中有没有什么弊端

hack

【在 u*********r 的大作中提到】
: 我不知道Java这种用enum实现singleton或者把enum拿来当class的用法到底是不是hack
: ,反正看着很不爽。。。

1 (共1页)
进入JobHunting版参与讨论
相关主题
Please recommend a C++ book for interview
工作机会 data scientist@experian datalab, San Diego
Senior Software Engineer in Sunnyvale, CA
真是老了脑子不好使了,struct和class的区别都没答上
半路出家三流CS小硕找工作经验
我们公司有个职位(在NJ)
成都手游Startup is looking for talents !!! (转载)
有个很简单的程序但是有segmentation fault是问啥
有个senior sde位子,m家
Los Gatos 某公司有个software engineer opening
相关话题的讨论汇总
话题: singleton话题: java话题: modifier话题: psingleton话题: 能帮