Java线程通信停止循环失败

现在会死循环,怎么解决掉死循环呢?


public class time {
    static boolean loop = true;
    public static void main(String[] args) {
        int i = 0;
        new Stop().start();
        while (loop){
            ++i;
        }
    }
}

class Stop extends Thread{

    @Override
    public void run() {
        try {
            sleep(1000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        time.loop = false;
    }
}

img

这不是死循环,只是多线程,stop线程阻塞了1秒,while在这1秒内跑了多少是多少,stop阻塞完了以后loop为false,while就停了