由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 刚才有个讨论singleton的帖子,找不到了
相关主题
how to create thread-safe singleton?C++ Q65: recompiling (IB)
Blackrock onsitePlease recommend a C++ book for interview
Job Opening: Verification Engineer II工作机会 data scientist@experian datalab, San Diego
leetcode OJ 不能使用exception?Senior Software Engineer in Sunnyvale, CA
在redmond微软的同学可以进一下吗,有个面试机会请教真是老了脑子不好使了,struct和class的区别都没答上
刚开始准备,突然有个店面,请问该如何突击一下更有效率半路出家三流CS小硕找工作经验
请教一下面试中怎么写unit test比较好?我们公司有个职位(在NJ)
请教1个工作面试题成都手游Startup is looking for talents !!! (转载)
相关话题的讨论汇总
话题: 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性质?

相关主题
刚开始准备,突然有个店面,请问该如何突击一下更有效率C++ Q65: recompiling (IB)
请教一下面试中怎么写unit test比较好?Please recommend a C++ book for interview
请教1个工作面试题工作机会 data scientist@experian datalab, San Diego
进入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)
:
: 们知
: 得这

相关主题
Senior Software Engineer in Sunnyvale, CA我们公司有个职位(在NJ)
真是老了脑子不好使了,struct和class的区别都没答上成都手游Startup is looking for talents !!! (转载)
半路出家三流CS小硕找工作经验有个很简单的程序但是有segmentation fault是问啥
进入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版参与讨论
相关主题
成都手游Startup is looking for talents !!! (转载)在redmond微软的同学可以进一下吗,有个面试机会请教
有个很简单的程序但是有segmentation fault是问啥刚开始准备,突然有个店面,请问该如何突击一下更有效率
有个senior sde位子,m家请教一下面试中怎么写unit test比较好?
Los Gatos 某公司有个software engineer opening请教1个工作面试题
how to create thread-safe singleton?C++ Q65: recompiling (IB)
Blackrock onsitePlease recommend a C++ book for interview
Job Opening: Verification Engineer II工作机会 data scientist@experian datalab, San Diego
leetcode OJ 不能使用exception?Senior Software Engineer in Sunnyvale, CA
相关话题的讨论汇总
话题: singleton话题: java话题: modifier话题: psingleton话题: 能帮