wait()和sleep()有什么区别?

56 阅读1分钟

wait()和sleep()的异同点

相同点: wait() 和sleep()都可以使线程暂停执行

不同点

1、wait() 是在Object类中的方法,而sleep()是Thread类中的静态方法

2、wait()用于多个线程之间的协作和通信,sleep ()用于线程的休眠

3、wait()必须在synchronized同步块中调用,而sleep ()没有使用限制

4、wait()会释放对象的锁使得当前线程进入等待状态,直到其他线程调用notify()或notifyAll()方法唤醒;而sleep()只是使当前线程暂停执行一段时间并且不会释放对象锁