Java >> Java tutorial >  >> Tag >> class

Hvordan fungerer join()-metoden i Thread-klassen?

  1. main får lov til at starte igen, så snart taskThread er færdig.
  2. Derefter main får lov til at starte igen, og taskThread vil fortsætte. Begge tråde får lov til at afslutte.
  3. Hvis enten taskThread afsluttet normalt eller timeout er nået main vil fortsætte med at udføre. Der er ingen måde for main at vide, om timeout opstod, eller om taskThread 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.


Java tag