Join中wait和sleep方法的不同
最大的区别:
Wait在等待时候会释放锁 用于线程之间的交互
Sleep 一直有锁 不释放 用于赞同执行
区别:
1. Sleep方法是Thread类中定义的方法
wait是Object类中定义的方法
2. Sleep方法必须人为的指定时间
wait方法既可以指定时间,也可以不指定时间
3. Sleep方法时间到,线程处于临时阻塞状态或者运行状态
Wait 方法如果没有被设置时间,就必须通过notify或者notifyAll来唤醒
4. Sleep方法不一定非要定义在同步中
Wait方法必须定义在同步中
5. 当二者都定义在同步中时候线程执行到sleep 不会释放锁,线程执行到wait会释放锁
6. Sleep必须不活异常,而wait notify notifyAll不需要捕获异常