Joining Thread in Groovy

7

Was macht die Methode join ? Wie in:

%Vor%

Dieser Code funktioniert auch ohne die join -Anweisung.

    
user1170330 16.01.2013, 23:58
quelle

1 Antwort

18

Das gleiche wie in Java - es bewirkt, dass der Thread, den join genannt wird, blockiert wird, bis der durch das Thread -Objekt dargestellte Thread, auf dem join aufgerufen wurde, beendet wurde.

Sie können den Unterschied sehen, wenn Sie den Haupt-Thread dazu bringen, etwas anderes zu tun (z. B. println ), nachdem der neue Thread erstellt wurde.

%Vor%

Ohne die join kann diese println passieren, während der andere Thread noch läuft, also erhalten Sie old thread , gefolgt zwei Sekunden später von new thread . Mit dem join muss der Haupt-Thread warten, bis der andere Thread fertig ist. Sie erhalten also für zwei Sekunden nichts, dann new thread , dann old thread .

    
Ian Roberts 17.01.2013, 00:07
quelle