A
Aaaalex
Gast
Hey ho ich bin vor knapp nem Monat auf Java umgestiegen und versuche mich gerade am MultiThreading.
Mich hat sehr überrascht, dass man in anscheinent keine einzelne Funktion in einem Thread ausführen kann, so wie es in anderen Sprachen (c/c++,delpi,basics) der fall ist.
Ich schreibe gerade eine Bot-Klasse für eine Online Community. Die Klasse sucht viele Profile der Community und besucht sie alle.
Das ganze geht durch mehrere schleifen und der komplette Besuchvorgang kann schonmal 2 Stunden dauern. Nun habe ich angefangen mit eine GUI dazu zu basteln. Sie soll dem Benutzer Informationen geben:
-Wie lange läuft der Besuchvorgang schon,
-wie lange läuft we noch,
-welches profil wird gerade besucht
und einiges mehr.
Da ist es logisch, dass die GUI hängenbleibt, wenn ich im button-click event eine Schleife aufrufe, die ~2 Stunden durchlaufen wird.
In einer anderen Sprache würde ich die Funktion zum Besuchen der Profile einfach in einem Thread aufrufen:
vb.net
dim t as new System.Threadint.Thread(AdressOf xyz.besucheProfile())
t.start()
In Java ist das leider nicht möglich.
Kann mir jemand sagen, wie ich das Problem lösen könnte ?
Mfg Alex.
Mich hat sehr überrascht, dass man in anscheinent keine einzelne Funktion in einem Thread ausführen kann, so wie es in anderen Sprachen (c/c++,delpi,basics) der fall ist.
Ich schreibe gerade eine Bot-Klasse für eine Online Community. Die Klasse sucht viele Profile der Community und besucht sie alle.
Das ganze geht durch mehrere schleifen und der komplette Besuchvorgang kann schonmal 2 Stunden dauern. Nun habe ich angefangen mit eine GUI dazu zu basteln. Sie soll dem Benutzer Informationen geben:
-Wie lange läuft der Besuchvorgang schon,
-wie lange läuft we noch,
-welches profil wird gerade besucht
und einiges mehr.
Da ist es logisch, dass die GUI hängenbleibt, wenn ich im button-click event eine Schleife aufrufe, die ~2 Stunden durchlaufen wird.
In einer anderen Sprache würde ich die Funktion zum Besuchen der Profile einfach in einem Thread aufrufen:
vb.net
dim t as new System.Threadint.Thread(AdressOf xyz.besucheProfile())
t.start()
In Java ist das leider nicht möglich.
Kann mir jemand sagen, wie ich das Problem lösen könnte ?
Mfg Alex.