Hi,
Ich bearbeite gerade eine sehr alte Java Swing Applikation und sehe schrecklichen code vor mir.
Um sie besser zu machen muss ich einiges in Threads auslagern, damit die GUI nicht blockiert wird.
Dabei stehe ich vor dem Problem, dass ich Daten in einem Thread bearbeiten muss die aber in der Class liegen und nicht übergeben werden (wobei ich die rückgabe eh auch nciht gelöst hätte)
Bei meiner Suche habe ich folgendes gefunden:
https://www.java-tips.org/java-se-t...ong-running-tasks-in-a-swing-application.html
was ich hier sehe finde ich sehr interessant finde - das GOOD example - hier wird nicht wirklich per "return" etwas zurück gegeben wird sondern von einem weiteren thread die werte im EDT direkt gesetzt (was ich für sehr komfortable halte, da es mir einfacher erscheint als einen "return" basierten weg zu bauen).
Nur verstehe ich daran nicht wieso das erlaubt ist/besser / anders ist als wenn nur über einen Thread liefe oder "bad2". Das sollte doch auch nicht thread-safe sein.
Ich bearbeite gerade eine sehr alte Java Swing Applikation und sehe schrecklichen code vor mir.
Um sie besser zu machen muss ich einiges in Threads auslagern, damit die GUI nicht blockiert wird.
Dabei stehe ich vor dem Problem, dass ich Daten in einem Thread bearbeiten muss die aber in der Class liegen und nicht übergeben werden (wobei ich die rückgabe eh auch nciht gelöst hätte)
Bei meiner Suche habe ich folgendes gefunden:
https://www.java-tips.org/java-se-t...ong-running-tasks-in-a-swing-application.html
was ich hier sehe finde ich sehr interessant finde - das GOOD example - hier wird nicht wirklich per "return" etwas zurück gegeben wird sondern von einem weiteren thread die werte im EDT direkt gesetzt (was ich für sehr komfortable halte, da es mir einfacher erscheint als einen "return" basierten weg zu bauen).
Nur verstehe ich daran nicht wieso das erlaubt ist/besser / anders ist als wenn nur über einen Thread liefe oder "bad2". Das sollte doch auch nicht thread-safe sein.