java中多线程序控制的两个方法:Thread.suspend()和java.lang.wait()方法在用法和用途上各有什么优缺点?知道的详细说明下~3Q~

解决方案 »

  1.   

    http://www.it.com.cn/f/edu/058/16/159053.htm
      

  2.   

    Thread.suspend()方法已经遭到反对,因为它具有固有的死锁倾向。如果目标线程挂起时在保护关键系统资源的监视器上保持有锁,则在目标线程重新开始以前任何线程都不能访问该资源。如果重新开始目标线程的线程想在调用 resume 之前锁定该监视器,则会发生死锁。这类死锁通常会证明自己是“冻结”的进程。
    wait()方法必须在同步机制中使用,用了wait()方法后,该线程处于等待状态,并释放线程锁,当其他线程调用notify()方法或notifyAll()方法唤醒此线程时,此线程再次运行
      

  3.   

    总之,wait就是比suspend好,不推荐使用suspend()方法