Aik*_*ika 34 java multithreading join
我有疑问,当一个线程加入时会发生什么.即线程自己调用join方法.我没有收到任何错误.
样品:
public class JoinItself extends Thread {
public void run() {
System.out.println("Inside the run method ");
System.out.println(Thread.currentThread().isAlive());
for(int i=0;i<5;i++) {
try {
System.out.println("Joining itself ...");
Thread.currentThread().join();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
JoinItself j = new JoinItself();
System.out.println(j.isAlive());
j.start();
System.out.println(j.isAlive());
System.out.println("Thread started ...");
}
}
Run Code Online (Sandbox Code Playgroud)
但为什么?我应该收到任何错误吗?
sgo*_*les 33
线程连接本身的概念没有意义.
事实上,该join()方法使用该isAlive()方法来确定何时从该join()方法返回.在当前实现中,它也不检查线程是否正在加入自身.
换句话说,该join()方法仅在线程不再存在时返回.这将具有永远等待的效果.
| 归档时间: |
|
| 查看次数: |
10038 次 |
| 最近记录: |