Wątek i wywoływanie zdarzeń

Wątek i wywoływanie zdarzeń
RE
  • Rejestracja:ponad 13 lat
  • Ostatnio:ponad 13 lat
  • Postów:2
0

Witam, mam następujące pytanie:

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

Kopiuj
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?

Olamagato
  • Rejestracja:ponad 16 lat
  • Ostatnio:około miesiąc
  • Lokalizacja:Polska, Warszawa
  • Postów:1058
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.


Jeżeli ktoś komuś coś, ewentualnie nikt nikomu nic, to właściwie po co...?
edytowany 1x, ostatnio: Olamagato

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.