Object waitLock = new Object();
while(!IsHappened)

  synchronized(waitLock) {
    try{
       waitLock.wait();
    }catch(Exception e ) {} 
  }
}  
另外的线程在置IsHappened=true之后,调用waitLock.notify()唤醒

解决方案 »

  1.   

    楼上正解
    java的线程易用好用
      

  2.   

    支持多线程是java的特征之一。
    不要用这种while循环等待的方式,可以用多线程来解决这个问题。当一个线程需要等待时,就用wait()方法使它进入sleep状态。当另一个线程中的事件被触发后,再用notify()方法来唤醒它。
    你可以去看看书中关于线程的介绍。