相同点
1、wait
和sleep
方法都可以使线程进入阻塞状态
。
2、wait
和sleep
方法均是可中断方法
。
不同点
1、wait是Object
的方法,而sleep是Thread
特有的方法。
2、线程在同步方法中执行,sleep方法不会释放monitor的锁
,而wait方法则会释放monitor的锁
。
3、wait方法的执行必须在同步方法中
进行,而sleep则不需要。
4、sleep方法短暂休眠之后会主动退出阻塞
,而wait需要指定时间
或被其他线程唤醒
后才能退出阻塞。
5、sleep通常被用于线程暂停
,wait通常被用于线程间交互
----------------------------------------------------------------------读书笔记摘自书名:Java高并发编程详解:多线程与架构设计 作者:汪文君
参考 :sleep()和wait()区别