美文网首页
线程中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