Frage zu Join bei Threads
Hallo Leute,
ich starte bei meiner Anwendung einen neuen Thread, der in einen Dialog in einer Progressbar anzeigt,
wie der Fortschritt des Ladens aus einer Tabelle ist.
Der Mainthread soll warten bis dieser Thread mit dem Anzeigen fertig ist und dann weitermachen.
Dies geht doch mit Join.
Wenn ich aber join verwende, so wartet der Mainthread zwar,
bis der Dialogthread fertig ist, im Dialogthread wird aber nichts angezeigt.
Man bekommt einen grauen Kasten in der Grösse des Dialogthreads.
Der Code dabei ist der Folgende:
// Die Klasse Dialog implementiert Runnable
Dialog dialog = new Dialog();
Thread thdialog= new Thread(Dialog);
thdialog.start();
// Der Main-Thread muss warten bis der dialog fertig ist,
// deswegen starte ich an thdialog die Methode join() :
try
{
thdialog.join();
} catch( InterruptedException ex )
{
}
Wie kann man es programmieren, dass der Mainthread wartet bis der Thread dialog
fertig ist, aber der Thread dialog richtig angezeigt wird.
Danke Tracer.
Hallo Leute,
ich starte bei meiner Anwendung einen neuen Thread, der in einen Dialog in einer Progressbar anzeigt,
wie der Fortschritt des Ladens aus einer Tabelle ist.
Der Mainthread soll warten bis dieser Thread mit dem Anzeigen fertig ist und dann weitermachen.
Dies geht doch mit Join.
Wenn ich aber join verwende, so wartet der Mainthread zwar,
bis der Dialogthread fertig ist, im Dialogthread wird aber nichts angezeigt.
Man bekommt einen grauen Kasten in der Grösse des Dialogthreads.
Der Code dabei ist der Folgende:
// Die Klasse Dialog implementiert Runnable
Dialog dialog = new Dialog();
Thread thdialog= new Thread(Dialog);
thdialog.start();
// Der Main-Thread muss warten bis der dialog fertig ist,
// deswegen starte ich an thdialog die Methode join() :
try
{
thdialog.join();
} catch( InterruptedException ex )
{
}
Wie kann man es programmieren, dass der Mainthread wartet bis der Thread dialog
fertig ist, aber der Thread dialog richtig angezeigt wird.
Danke Tracer.