java中的sleep和wait有什么不同

wait()方法则是指当前线程让自己暂时退让出同步资源锁,以便其他正在等待该资源的线程得到该资源进而运行,只有调用了notify()方法,之前调用wait()的线程才会解除wait状态,可以去参与竞争同步资源锁,进而得到执行。

目前创新互联已为上1000家的企业提供了网站建设、域名、虚拟主机、网站托管维护、企业网站设计、滕州网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

sleep()方法可以在任何地方使用;wait()方法则只能在同步方法或同步块中使用;

sleep()是线程线程类(Thread)的方法,调用会暂停此线程指定的时间,但监控依然保持,不会释放对象锁,到时间自动恢复;

wait()是Object的方法,调用会放弃对象锁,进入等待队列,待调用notify()/notifyAll()唤醒指定的线程或者所有线程,才会进入锁池,不再次获得对象锁才会进入运行状态;

Java中线程的生命周期图谱如下所示:

java中的sleep和wait有什么不同

以上就是JAVA中sleep与wait区别的详细内容,更多请关注创新互联其它相关文章!


本文名称:java中的sleep和wait有什么不同
当前地址:http://scyanting.com/article/jjchec.html