为了账号安全,请及时绑定邮箱和手机立即绑定

这是jdk 的join方法源码,为什么调用了a调用了t的join方法,会让a进入wait状态

/**

*  Waits at most <code>millis</code> milliseconds for this thread to  

     * die. A timeout of <code>0</code> means to wait forever.

*/

//此处A timeout of 0 means to wait forever 字面意思是永远等待,其实是等到t结束后。

public final synchronized void join(long millis)    throws InterruptedException {

long base = System.currentTimeMillis();

long now = 0;

if (millis < 0) {

            throw new IllegalArgumentException("timeout value is negative");

}

if (millis == 0) {

while (isAlive()) {

wait(0);

}

} else {

while (isAlive()) {

long delay = millis - now;

if (delay <= 0) {

break;

}

wait(delay);

now = System.currentTimeMillis() - base;

}

}

    }


正在回答

举报

0/150
提交
取消

这是jdk 的join方法源码,为什么调用了a调用了t的join方法,会让a进入wait状态

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信