黑马程序员技术交流社区
标题:
三目运算符是否能解决懒汉式的同步问题?
[打印本页]
作者:
szsycwb
时间:
2014-5-21 22:12
标题:
三目运算符是否能解决懒汉式的同步问题?
本帖最后由 szsycwb 于 2014-5-23 16:15 编辑
通常使用懒汉式都会同步线程,现在我想到一个不同步的语句,不知道是否可以。
代码如下:
class Single
{
private static Single instance=null;
private Single(){}
public static Single getInstance() //通常要同步这个方法,但我使用三目运算符,简化if else语句
{
return instance==null?(instance=new Single()):instance;
}
}
复制代码
作者:
赵洋洋
时间:
2014-5-21 22:26
可以这样用
作者:
szsycwb
时间:
2014-5-23 16:14
经过测试原来不可以这样用,这样用也会出现线程安全问题
作者:
酱油炒饭
时间:
2014-5-23 21:41
路过瞅瞅长长知识~
作者:
Mr._Strange
时间:
2014-5-24 17:50
本帖最后由 Mr._Strange 于 2014-5-24 17:53 编辑
你的这个问题我也想过,后来我向一位java老师请教过,三元运算符依旧会出现安全隐患,因为三元运算符也是一步步执行,先判断,再运行执行语句,它不是因为是一句话就可以一下执行完的,它也是分两次运算。所以,不可以的。
作者:
飘渺≮★耘
时间:
2014-5-24 20:44
一般来说if else的性能比三目运算符好
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2