- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
Object sync;
try {
synchronized (sync){
sync.wait();
}
} catch (NullPointerException npe){
sync = new Object();
synchronized (sync){
sync.wait();
}
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+79
Object sync;
try {
synchronized (sync){
sync.wait();
}
} catch (NullPointerException npe){
sync = new Object();
synchronized (sync){
sync.wait();
}
}
Вот так чел пытался избежать "ненужного" создания объекта-монитора. Память экономил...
guest 17.05.2011 12:13 # +4
try {
or.setField1(ReportHelper.EMPTY_STRING);
} catch (NullPointerException e2) {
or.setField1(ReportHelper.EMPTY_STRING);
}
Lure Of Chaos 17.05.2011 14:30 # 0
guest 17.05.2011 15:06 # 0
Lure Of Chaos 17.05.2011 15:41 # 0
guest 17.05.2011 16:16 # 0
Lure Of Chaos 17.05.2011 16:28 # +1
Lure Of Chaos 17.05.2011 14:29 # 0
кстати, чел не понимает, что sync вполне может замениться на this -- объяснять пробовали?
sogekoder 17.05.2011 15:29 # 0
это вы имеете ввиду эквивалентную замену? Если да, то вы не правы, сэр.
Lure Of Chaos 17.05.2011 15:43 # 0
О, контекст тут наверное статический - тогда да, this не будет.
Skipy 17.05.2011 17:36 # 0
На нем кто-то может сдуру вызвать notify. Не, чем глубже спрятан монитор, тем лучше. Так что -
private final Object sync = new Object();
Lure Of Chaos 17.05.2011 18:00 # 0
guest8 08.04.2019 21:07 # −999
guest8 09.04.2019 10:46 # −999
guest8 09.04.2019 17:57 # −999