从品牌网站建设到网络营销策划,从策略到执行的一站式服务
java中的sleep与wait有什么区别?针对这个问题,今天小编总结这篇有关sleep和wait的文章,希望能帮助更多想解决这个问题的朋友找到更加简单易行的办法。
创新互联-专业网站定制、快速模板网站建设、高性价比武宁网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式武宁网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖武宁地区。费用合理售后完善,十载实体公司更值得信赖。
sleep:
sleep 方法属于 Thread 类中方法,表示让一个线程进入睡眠状态,等待一定的时间之后,自动醒来进入到可运行状态,不会马上进入运行状态,因为线程调度机制恢复线程的运行也需要时间,一个线程对象调用了 sleep方法之后,并不会释放他所持有的所有对象锁,所以也就不会影响其他进程对象的运行。但在 sleep 的过程中过程中有可能被其他对象调用它的 interrupt() ,产生 InterruptedException 异常,如果你的程序不捕获这个异常,线程就会异常终止,进入 TERMINATED 状态,如果你的程序捕获了这个异常,那么程序就会继续执行catch语句块(可能还有 finally 语句块)以及以后的代码。
wait:
wait 属于 Object 的成员方法,一旦一个对象调用了wait方法,必须要采用 notify() 和 notifyAll() 方法唤醒该进程;如果线程拥有某个或某些对象的同步锁,那么在调用了 wait() 后,这个线程就会释放它持有的所有同步资源,而不限于这个被调用了 wait() 方法的对象。 wait() 方法也同样会在 wait 的过程中有可能被其他对象调用 interrupt() 方法而产生 。
sleep和wait方法的区别是:
● sleep 来自 Thread 类,而 wait 来自 Object 类
● sleep 方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或方法
● wait,notify和 notifyAll 只能在同步控制方法或者同步控制块里面使用,而 sleep 可以在任何地方使用
● sleep 必须捕获异常,而 wait , notify 和 notifyAll 不需要捕获异常
以上就是java中的sleep与wait的区别,看完之后是否有所收获呢?如果想了解更多相关内容,欢迎关注创新互联行业资讯,感谢各位的阅读。
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图