解决方案 »

  1.   

    提供一个开关变量,控制这个变量即可
    volatile boolean isRun = false;public void run{
    while(isRun){
    ....等待另一个线程计算结果
    }
    }
      

  2.   

    楼上volatile正解,但是有一个复杂问题需要考虑,while循环内执行过长时间或者阻塞,此线程是不会执行到while退出,需要处理阻塞逻辑,如果确定为使用锁变量,可以在外面对这个线程执行不安全的stop或destroy方法。另外也可以写一个线程执行器服务,java.util.concurrent.ExecutorService,里面提供了shutdown和shutdownnow方法。