Hvordan fungerer join()-metoden i Thread-klassen?
main
får lov til at starte igen, så snarttaskThread
er færdig.- Derefter
main
får lov til at starte igen, ogtaskThread
vil fortsætte. Begge tråde får lov til at afslutte. - Hvis enten
taskThread
afsluttet normalt eller timeout er nået main vil fortsætte med at udføre. Der er ingen måde formain
at vide, om timeout opstod, eller omtaskThread
færdig med at udføre uden at bruge andre kommunikationsmidler.
join()
når den kaldes på tråden, venter den på at tråden dør (dvs. for at køre metoden for den tråd at blive færdig med..). Først derefter linjen under join()
vil udføre. Men at give en timeout inden for join(), vil få join()-effekten til at blive annulleret efter den specifikke timeout.
Selvom timeout opstår, vil taskThread få lov til at afslutte arbejdet.