Czy eventy z JFrame w javie są synchronizowane?

Czy eventy z JFrame w javie są synchronizowane?
Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:5 minut
  • Lokalizacja:Koszalin
  • Postów:10094
0

Hej, robię sobie grę w Javie for fun, i nawet działa tylko ciągle męczy mnie jedna rzecz.

Jeden wątek w kliencie odpowiada za odczytywanie obiektów z socketa.
Drugi wątek w kliencie odpowiada za wysyłanie obiektów przez socket.
A ten "domyślny" wątek odpala pętlę gry (update i render).
Event handlery nie są w żadnych wątkach, i po prostu onKeyDown/onKeyUp zmieniają rzeczy w tej pętli w domyślnych wątku oraz informują wątek wysyłajacy że ma wysłać.

Pytanie moje czy to jest po bożemu? Czy to ma tak działać, czy działa tylko przypadkiem?

Wibowit
  • Rejestracja:około 20 lat
  • Ostatnio:około 10 godzin
0

Zdarzenia wykonują się w EDT (event dispatch thread). Jest bardzo ważne, by zmiany w GUI wykonywać w EDT. Do poczytania: https://docs.oracle.com/javase/tutorial/uiswing/concurrency/index.html

Jeżeli w EDT będziesz robił jakieś długotrwałe operacje to zamrozisz GUI.


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
edytowany 1x, ostatnio: Wibowit

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.