java中sleep和wait的方法区别
【摘要】
区别
所属对象不同:sleep方法属于Thread类的,wait方法属于object对象的。唤醒方式不同:interrupt()方法可以终端 sleep 和wait方法。notify和ntifyal...
区别
- 所属对象不同:sleep方法属于Thread类的,wait方法属于object对象的。
- 唤醒方式不同:interrupt()方法可以终端 sleep 和wait方法。notify和ntifyall方法可以唤醒wait方法的暂停,sleep可以设置指定的时间后唤醒。
- 使用地方不同:sleep方法可以使用在非同步方法中,wait方法必须使用在同步代码块中。
- 方法属性不同:wait是实例方法,而sleep是Thread 的静态方法。
- 锁资源占用情况不同:wait会释放对象锁,而sleep不会释放对象锁。
知识点补充
线程的六大状态:
1)六大状态概述:
NEW:线程刚创建
RUNNABLE:在JVM中正在运行的线程
BLOCKED:线程处于阻塞状态,等待监视锁,可以重新进行同步代码块中执行
WAITING:等待状态
TIMED_WAITING:调用sleep() join() wait()方法可能导致线程处于等待状态
TERMINATED:线程执行完毕,已经退出
2)六大状态图:
文章来源: englishcode.blog.csdn.net,作者:知识浅谈,版权归原作者所有,如需转载,请联系作者。
原文链接:englishcode.blog.csdn.net/article/details/124392275
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)