分析&回答
1)sleep是线程类(Thread)的方法;wait是Object类的方法
2)sleep是使线程休眠,不会释放对象锁;wait是使线程等待,释放锁
sleep让出的是cpu,如果此时代码是加锁的,那么即使让出了CPU,其他线程也无法运行,因为没有得到锁;wait是让自己暂时等待,放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。
3)调用sleep进入阻塞状态;调用wait进入等待状态,调用notify进入就绪状态
为了大家更加方便的刷题,我们对文章进行了分类和整理,免费为大家提供刷题服务。程序员不欺骗程序员,赶紧搜索“学一次”小程序刷起来!
为了一站式解决面者刷题问题,部分内容可能存在摘录情况,如有侵权辛苦您留言联系我们,我们会删除文章或添加引用文案,Thanks!
版权声明:本文为jjclove原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。