wait()和sleep()有什么区别?调用这两个函数后,线程状态分别作何改变? 相同点:一旦执行,当前线程都会进入阻塞状态 不同点: 声明的位置:wait():声明在Object类中 sleep():声明在Thread类中,静态的 使用的场景不同:wait():只能使用在同步代码块或同步方法中 sleep():可以在任何需要使用的场景 使用在同步代码块或同步方法中:wait():一旦执行,会释放同步监视器 sleep():一旦执行,不会释放同步监视器 结束阻塞的方式:wait(): 到达指定时间自动结束阻塞 或 通过被notify唤醒,结束阻塞 sleep(): 到达指定时间自动结束阻塞