2
回答
java Thread类
终于搞明白,存储TCO原来是这样算的>>>   

Thread类的join()

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

其中isAlive()方法作用对象是当前线程还是调用join()的对象,wait()方法呢?

<无标签>
举报
MosesAc
发帖于1个月前 2回/74阅
顶部