美文网首页
线程中sleep()和wait()有何区别,各有什么含义 ?

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

作者: Jacksimo | 来源:发表于2017-03-25 15:46 被阅读0次

区别:

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

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

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

含义:

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

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

相关文章

网友评论

      本文标题:线程中sleep()和wait()有何区别,各有什么含义 ?

      本文链接:https://www.haomeiwen.com/subject/omecottx.html