yield:让出时间片,不会释放锁
sleep:线程进入睡眠状态,不会释放锁
wait:必须拿到锁才能执行,执行后释放锁,进入锁的等待队列,方法返回后重新拿到锁
notify:必须拿到锁才能执行,执行后不会立马释放锁,而是通知等待队列中的某一个线程,同步代码块执行完毕后才会释放锁
notifyAll:同notify,有一点不同在于,notifyAll会发出n个信号(n=等待线程数),而notify只会发出一个信号,通常情况下,尽量选择notifyAll
yield:让出时间片,不会释放锁
sleep:线程进入睡眠状态,不会释放锁
wait:必须拿到锁才能执行,执行后释放锁,进入锁的等待队列,方法返回后重新拿到锁
notify:必须拿到锁才能执行,执行后不会立马释放锁,而是通知等待队列中的某一个线程,同步代码块执行完毕后才会释放锁
notifyAll:同notify,有一点不同在于,notifyAll会发出n个信号(n=等待线程数),而notify只会发出一个信号,通常情况下,尽量选择notifyAll