线程中sleep()和wait()有何区别,各有什么含义 ?

区别:

(1)sleep()不会释放资源,wait()会释放资源;

(2)sleep()是Thread类里的函数,wait()是Object类里的函数;

(3)sleep()可以在任何地方调用,wait()只能在同步方法或者同步代码块中调用(否则会抛IllegalMonitorStateException异常);

含义:

sleep():使当前线程暂停执行指定的一段时间,但监视状态依然保持,过了指定的时间会自行恢复运行状态。

wait():使当前线程暂停执行,同时释放对象监视器的所有权,直到另一个和它有相同对象监视器的线程调用notify()或者notifyAll()唤醒它,再恢复运行状态。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容