sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。
wait是等待资源 线程处于已激活状态 直到有资源分配给该线程时 该线程继续运行 可以用notify()唤醒
wait().会释放锁
举个很简单的例子给楼主:
两个人(A,B)都在(等待)看电影
A(sleep) 等待的时候不会把座位让给别人
B(wait) 也在等待但是它可以把座位让给别人自己站着
也就是说A等待的时候不给把资源交给别人..
而B等待的时候可以把资源交给别人 |