您的位置:首页 > 编程语言 > Java开发

JAVA -- 线程wait()和sleep()的区别

2015-05-31 16:43 423 查看
          wait()属于Object类中,sleep()属于Thread类中。

        sleep()方法导致了程序暂停执行指定的时间,让出cpu该其他线程,但是他的监控状态依然保持者,当指定的时间到了又会自动恢复运行状态。

        在调用sleep()方法的过程中,线程不会释放对象锁。

        而当调用wait()方法的时候,线程会放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象调用notify()方法后本线程才进入对象锁定池准备。

        获取对象锁进入运行状态。//signal.wait()的意思并不是说,signal开始wait,而是说,运行这段代码的当前线程开始wait这个signal对象,即进入signal对象的待召(Waiting)队列。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: