- sleep是Thread方法,而wait是Object的方法
 - sleep不需要强制和synchronized配合使用,但wait需要和synchronized一起用
 - sleep在睡眠的同时,不会释放对象锁,但wait在等待的时候会释放对象锁
 进入的状态是一致的,都是【TIME-WAITING】,这里是针对wait含参方法来说的,无参方法是【WAITING】状态
wait会释放锁:
```java public class SleepAndWait {
static final Object lock = new Object();
public static void main(String[] args) {
new Thread(()->{System.out.println("获得锁");try {lock.wait();} catch (InterruptedException e) {e.printStackTrace();}},"t1").start();synchronized (lock){System.out.println("获得锁");}
} }
<a name="ihyZW"></a>####<a name="RZJ5q"></a>#### sleep不会释放锁:```javapublic class SleepAndWait {static final Object lock = new Object();public static void main(String[] args) {new Thread(()->{System.out.println("获得锁");try {Thread.sleep(20000);} catch (InterruptedException e) {e.printStackTrace();}},"t1").start();synchronized (lock){System.out.println("获得锁");}}}
