class TestJoinMethod2 extends Thread{
public void run(){
for(int i=1;i<=5;i++){
try{
Thread.sleep(500);
}catch(Exception e){System.out.println(e);}
System.out.println(Thread.currentThread().getName());
}
}
public static void main(String args[]){
TestJoinMethod2 t1=new TestJoinMethod2();
TestJoinMethod2 t2=new TestJoinMethod2();
TestJoinMethod2 t3=new TestJoinMethod2();
t1.start();
try{
t1.join(1500);
}catch(Exception e){System.out.println(e);}
t2.start();
t3.start();
}
}
Der Ausgang I ist wie etwas bekommen unterwie funktioniert join (long millis) im folgenden Beispiel?
Thread-0
Thread-0
Thread-0
Thread-1
Thread-2
Thread-0
Thread-1
Thread-2
Thread-0
Thread-1
Thread-2
Thread-1
Thread-2
Thread-1
Thread-2
Das spezielle Verfahren beitreten (long millis) beschreibt, dass es höchstens millis Millisekunden für den Thread zu sterben Waits. Nun ist meine Frage, wenn Thread-0 nach 1500 Millis (d. H. Nach den ersten 3 mal) stirbt, wie wird es danach ausgeführt?
Können Sie Ihren Code besser formatieren, bitte? Es ist schwierig, der Verschachtelung zu folgen, besonders in 'TestJoinMethod2'. Ihre IDE kann es für Sie (und für uns) tun. –
't.join()' _wait_ für 't' zu sterben. Es stirbt nicht _make_ 't'. 't.join()' tut überhaupt nichts, um 't' zu verarbeiten. –