Ik ben bezig met een java swing programma en start voor een lange taak een thread. Deze thread start vervolgens een andere thread. In pseudo code:
T1 en T2 zijn Threads. In Thread1 run methode word Thread2 gestart. Nu zou het ideaal zijn als T1 even stopt en wacht op T2 totdat deze klaar is.
Maar hoe kan ik dat het beste aanpakken, ik kan T1 T2 laten pollen en zo kijken of T2 klaar is. Ik kan ook T1 een Status interface laten implementeren en dan deze Status interface meegeven aan de T2 constructor, T2 roept dan de Klaar() functie van de Status interface aan.
Het zijn allemaal oplossingen die het doen, maar niet echt "mooi" zijn. Heeft java hier geen standaard oplossing voor?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| function startlongtask(){
T1.start();
}
function T1.run(){
T2.start();
//wacht totdat T2 klaar is
print "Ikke klaar!";
}
function T2.run(){
dosomethinglong();
} |
T1 en T2 zijn Threads. In Thread1 run methode word Thread2 gestart. Nu zou het ideaal zijn als T1 even stopt en wacht op T2 totdat deze klaar is.
Maar hoe kan ik dat het beste aanpakken, ik kan T1 T2 laten pollen en zo kijken of T2 klaar is. Ik kan ook T1 een Status interface laten implementeren en dan deze Status interface meegeven aan de T2 constructor, T2 roept dan de Klaar() functie van de Status interface aan.
Het zijn allemaal oplossingen die het doen, maar niet echt "mooi" zijn. Heeft java hier geen standaard oplossing voor?