1. sleep()方法需要指定睡的时间,wait()可以指定可以不指定。
2, 持有锁的线程执行sleep,不释放锁,持有锁的线程执行到wait()时锁释放。
3,sleep睡到指定时间会启用线程、wai只能被其他线程通过notify唤醒。
4,sleep和wait的共同点是:都能让线程处于冻结状态
try{Thread.sleep(10);}catch(Exception e){}//进来的线程,暂时睡10毫秒
public void run()
{
if(!p.flag)
try{p.wait();}catch(Exception e){}//调用wait方法(存在异常)
System.out.println(p.name+"....."+p.sex);
p.flag=false;
p.notify();//唤醒
}
|