Wątek i wywoływanie zdarzeń

0

Witam, mam następujące pytanie:

Jeśli mam osobny wątek który wywołuje zdarzenie np:

public class NewThread implements Runnable 
{ 

   public void run() 
   { 
      
      fireEvent(new MyEventObject(this)); 
   } 

}  

abstrahując od implementacji metody run();

jeśli jako słuchaczy zarejestruje obiekty które operują na komponentach Swing, to operacje na tych komponentach zostaną wykonane w wątku pobocznym a nie w wątku dystrybucji zdarzeń. Czy takie operacje powinno się wykonywać poprzez użycie EventQueue.invokeLater czy można pozostawić tak jak powyżej?

1

Z tego co wiem, to pierwsze. Oczywiście, o ile fireEvent odpali jakieś metody Swinga.

ps. Nie utożsamiaj Runnable, które jest de facto zadaniem (projektantom Javy 1.0 niezbyt dobrze udało się nazwać ten interfejs), z wątkiem, który takie zadanie może wykonać. To nie jest to samo. Można się na tym przejechać, co kończy się paskudnymi, ciężko wykrywalnymi błędami.

1 użytkowników online, w tym zalogowanych: 0, gości: 1