if (A==null)
{
doA();
}
else if (A!=null)
{
if(B==0)
{
if(A==null)
{
doA();
}
....
}
}
我整个人都是懵逼的……
if (A==null)
{
doA();
}
else if (A!=null)
{
if(B==0)
{
if(A==null)
{
doA();
}
....
}
}
我整个人都是懵逼的……
|
1
多线程条件下,进入 if (A!=null) 分支后在内层的 if(A==null) 执行前 A 变为 null 的话这段代码大概是有意义的吧...
当然我觉得这段代码的作者基本上不会有这样诡异的本意... 2333 |
|
bengxyOct 18, 2017
5
估计是忘了注释吧 23333
|
|
NxiJSiOSOct 19, 2017
6
代码诡异,就往多线程想吗? 233
|
|
introomOct 19, 2017 via Android
7
都 doA 了,else if 再检查一下也是没问题的。不过总体很怪异就是了。
|
|
8
估计以前 代码逻辑可能是类似这样的,后来业务变动,删掉了那行吧。。。。
``` if (A==null) { doA(); } else if (A!=null) { if(B==0) { a= fuck() < ---------------------- if(A==null) { doA(); } .... } } ``` |
|
changweiOct 19, 2017 via Android
9
我突然发现所有诡异的代码逻辑都可以用多线程来解释了
|
|
sagaxuOct 19, 2017 via Android
10
多线程环境下这种代码往往也是错的
|
|
kariaOct 19, 2017
11
|
|
agostopOct 19, 2017
12
估计 8 楼说的差不多
|
|
deadEggOct 19, 2017
13
多线程这依然是竞态环境
不加锁依然赌命? 多线程不合理啊 |
|
EyreFreeOct 19, 2017
14
我在讲段子啊,你萌为什么都当真...QWQ...
逃... |
|
rbeOct 19, 2017
15
@m939594960 这都能分析出来,很强
|
|
domtyOct 19, 2017
16
这种看起来无比诡异的代码主要就俩原因。
1.写代码的人是个坑 2.这段代码被删删改改了很多次而没有被认真重构过。 |
|
seancheerOct 19, 2017
17
多线程这种判断也是不能够保证的。。同意楼上的观点,要么写代码的人坑,要么这段代码被改来改去,改的人没仔细看其他的逻辑。
|
|
18
其实是当天写出来的,而且无关多线程,只是代码烂而已……
明天应该不用来上班了 😂 |