线程方法wait和sleep的区别
Posted meteor12138
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线程方法wait和sleep的区别相关的知识,希望对你有一定的参考价值。
wait和sleep这两个方法都可以让线程暂停执行,而且都有InterruptedException的异常说明,那么他们的区别是什么呢?
- wait是Object的成员方法,而sleep是Thread的静态方法。
- 只要是作为锁的对象都可以在同步代码块中调用自己的wait方法,sleep方法是Thread的静态方法,表示的是让当前线程休眠指定的时间。
- 调用wait方法需要先获得锁,而调用sleep方法是不需要的。
- 调用wait方法的线程需要用notify/notifyAll来唤醒,而sleep必须设置超时值。
- 线程在调用wait方法之后会先释放锁,而sleep不会释放锁
以上是关于线程方法wait和sleep的区别的主要内容,如果未能解决你的问题,请参考以下文章