Должен ли я использовать SwingUtilities.invokeLater () внутри SwingWorker.doInBackground ()?

Распространенным способом взаимодействия с EDT из Swing Worker является использование метода get (). Но у меня есть длинная задача и код вроде этого:

public Void doInBackground() {
    for(Object o : objects) {
         doSomething();
         MyGlobalGUIConsole.addMessage("Done for " + o);
    }
}

В большинстве обучающих материалов рекомендуется использовать возвращаемые значения, чтобы вернуть что-то из SwingWorker в EDT, но я могу просто:

public Void doInBackground() {
    for(Object o : objects) {
        doSomething();
        SwingUtilities.invokeLater(new Runnable() {        
            @Override                                      
            public void run() {                            
                MyGlobalGUIConsole.addMessage("Done for " + o);
            }                                              
        });                                                
    }
}

Ответы на вопрос(1)

Ваш ответ на вопрос