资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

Java多线程sleep和wait的区别有哪些

这篇文章将为大家详细讲解有关Java多线程sleep和wait的区别有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

创新互联电话联系:028-86922220,为您提供成都网站建设网页设计及定制高端网站建设服务,创新互联网页制作领域10多年,包括塔吊租赁等多个行业拥有丰富的网站推广经验,选择创新互联,为企业锦上添花!

我们都知道sleep是让线程休眠,到时间后会继续执行,wait是等待,需要唤醒再继续执行,那么这两种方法在多线程中的表现形态,它们各有什么区别呢?

可以总结为以下几点。

使用上

从使用角度看,sleep是Thread线程类的方法,而wait是Object顶级类的方法。

sleep可以在任何地方使用,而wait只能在同步方法或者同步块中使用。

CPU及资源锁释放

sleep,wait调用后都会暂停当前线程并让出cpu的执行时间,但不同的是sleep不会释放当前持有的对象的锁资源,到时间后会继续执行,而wait会放弃所有锁并需要notify/notifyAll后重新获取到对象锁资源后才能继续执行。

异常捕获

sleep需要捕获或者抛出异常,而wait/notify/notifyAll不需要。

关于“Java多线程sleep和wait的区别有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。


新闻名称:Java多线程sleep和wait的区别有哪些
浏览地址:http://cdkjz.cn/article/pjhejp.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220