gpt4 book ai didi

java - join(long millis) 在以下示例中如何工作?

转载 作者:行者123 更新时间:2023-12-01 21:22:57 27 4
gpt4 key购买 nike

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();
}

}
我得到的输出如下所示

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

特定方法 join(long millis) 描述它最多等待 millis 毫秒,直到线程终止。现在我的问题是,如果 Thread-0 在 1500 毫秒后(即前 3 次后)死亡,那么之后它如何执行?

最佳答案

join(long) 方法等待线程终止至多给定的毫秒数。由于 t1 在 1500 毫秒后尚未完成,因此 join 调用只是让主线程等待 1500 毫秒。

https://docs.oracle.com/javase/8/docs/api/java/lang/Thread.html#join-long-

关于java - join(long millis) 在以下示例中如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38851551/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com