wait()让线程处于等待状态,直到别的线程调用notifyAll()或者notify()方法唤醒;
stop()已经不推荐使用了,因为会造成死锁现象;
yield()用于使当前执行的线程放弃运行;
sleep()用于使当前线程进入睡眠状态,时间一到自动唤醒(当然因为优先级等等原因不一定会立刻运行)。

解决方案 »

  1.   

    现在JDk1.42已经不推荐使用wait和stop,中断线城你可以使用强行让run方法返回,至于挂起,可以使用sleep实现,wait和stop会大量的占用资源,并做无用功!基本已经被取代了
      

  2.   

    wait有不被推荐吗?而且wait是Object里的一个方法,应用太广泛了,如果真的把wait淘汰了,
    java的多线程基本上就没戏了吧
      

  3.   

    treeroot(旗鲁特)说得对,wait的应用很广泛,它与notify和notifyAll配合使用(当然还必须和synchronized配合),可以说是java多线程的精华所在。以在下愚见,如果一个多线程程序没有用到wait、notify和notifyAll,那这个程序或多或少都会存在效率问题,或易用性问题。
      

  4.   

    补充一句废话,线程自动停止的情况就是run方法执行完毕,这样这个线程也就over了