1. Java / Говнокод #6939

    +80

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    thread = new Thread() {
      @Override 
      public void run() {
        try {
          while( !dataProcessor.isFinished() ) {
            dataProcessor.execute();
            
            Thread.sleep( 60 * 1000L );
          }        
        } catch ( Throwable t ) {
          logger.fatal( "Fatal error in daemon thread", t );
        }
      }
    };
    
    thread.run();

    Вот такое оно параллельное выполнение. Задачка для догадливых.

    Запостил: galak, 13 Июня 2011

    Комментарии (11) RSS

    • > Thread.sleep( 60 * 1000L );
      как я долго спал!
      Ответить
    • на dataProcessor еще бы глянуть
      Ответить
      • он большой роли не играет. вся хохма уже во фрагменте.
        Ответить
        • ну кроме того, что фрагмент при любом катаклизме просто запишет ошибку в лог, и замнет, не вижу ничего особенно страшного
          Ответить
          • В конце вызывается thread.run() не thread.start(). И все реально происходит в том же потоке.
            Ответить
            • а и верно )) надо же, смотрел и в упор видел там thread.start()
              Ответить
            • Ещё один плохой дизайн жабки... По идее нужно иметь protected onRun()
              Ответить
              • Никакой связи с дизайном Java. Метод run определен в интерфейсе Runnable, я лично не знаю языка в котором методы интерфейса могли бы быть protected.
                Ответить
    • >Задачка для догадливых
      Откуда дровишки?
      Ответить
    • thread.start(); //вызов run() не запустит отдельный поток..
      Ответить

    Добавить комментарий