JAVA中sleep与wait区别
程序员文章站
2022-03-10 22:31:26
...
wait()方法则是指当前线程让自己暂时退让出同步资源锁,以便其他正在等待该资源的线程得到该资源进而运行,只有调用了notify()方法,之前调用wait()的线程才会解除wait状态,可以去参与竞争同步资源锁,进而得到执行。
sleep()方法可以在任何地方使用;wait()方法则只能在同步方法或同步块中使用; (推荐学习:java课程)
sleep()是线程线程类(Thread)的方法,调用会暂停此线程指定的时间,但监控依然保持,不会释放对象锁,到时间自动恢复;
wait()是Object的方法,调用会放弃对象锁,进入等待队列,待调用notify()/notifyAll()唤醒指定的线程或者所有线程,才会进入锁池,不再次获得对象锁才会进入运行状态;
Java中线程的生命周期图谱如下所示:
以上就是JAVA中sleep与wait区别的详细内容,更多请关注其它相关文章!
推荐阅读
-
Java web Filter, Strurs2 Interceptor 和 SpringMVC Interceptor 三者之间的联系与区别
-
mysql中order by与group by的区别
-
jQuery中length与size()使用区别有哪些
-
比较全面的event对像在IE与FF中的区别 推荐_javascript技巧
-
php中++i 与 i++ 的区别_php技巧
-
JS中apply,call,bind区别与用法
-
解析Java的Jackson库中对象的序列化与数据泛型绑定
-
分享jquery中map函数与each函数两者区别
-
详细分析mybatis中resultType和resultMap的区别与联系
-
sql中Statement与PreparedStatement的区别