- 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();
}
}
Вот так чел пытался избежать "ненужного" создания объекта-монитора. Память экономил...
try {
or.setField1(ReportHelper.EMPTY_STRING);
} catch (NullPointerException e2) {
or.setField1(ReportHelper.EMPTY_STRING);
}
кстати, чел не понимает, что sync вполне может замениться на this -- объяснять пробовали?
это вы имеете ввиду эквивалентную замену? Если да, то вы не правы, сэр.
О, контекст тут наверное статический - тогда да, this не будет.
На нем кто-то может сдуру вызвать notify. Не, чем глубже спрятан монитор, тем лучше. Так что -
private final Object sync = new Object();