- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
@Override
public void run() {
while (true) {
try {
if (this.getTime() == this.peek().getTime()) {
this.pop().run();
}
Thread.sleep(1000);
} catch (final InterruptedException e) {
break;
}
}
}
user654321 03.11.2010 13:58 # 0
istem 03.11.2010 14:27 # +1
или 5 никогда не выполнится?
Анонимус 03.11.2010 16:02 # +5
2) что такое peek и pop? Вы от стека что ли наследовались?
Очень красиво -- Runnable и Stack.
3) что такое getTime()? Текущее время? И что там может совпасть?
4) Судя по косвенным признам -- в стеке лежат точно такие же классы, и метод run() в итоге раздует стек вызовов до эксепшена
5) нафига exception финальный?
Вообще странный код
Lure Of Chaos 04.11.2010 13:24 # 0
2. нет, просто методы неправильно названы, но для меня понятны. Тут не стек, а очередь.
3. да, текущее время, в этом и Г, что вряд ли совпадет с точностью до миллисекунды
4. в стеке обычные Runnable, которые быстро выполняют задачу без организовывания новых потоков
5. правильно, тут не надо, но мне эклипс сам спорядкивает код, и кроме прочего делает финальными все параметры, которые далее не изменяются