分析&回答
1)sleep是线程类(Thread)的方法;wait是Object类的方法
2)sleep是使线程休眠,不会释放对象锁;wait是使线程等待,释放锁
sleep让出的是cpu,如果此时代码是加锁的,那么即使让出了CPU,其他线程也无法运行,因为没有得到锁;wait是让自己暂时等待,放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。
3)调用sleep进入阻塞状态;调用wait进入等待状态,调用notify进入就绪状态
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!