1.yield()
yield()方法仅仅只是让出cpu的执行权,并不会将锁让出,不会释放。
2.sleep()
sleep()方法也不会将锁让出,不会释放,当我们的线程休眠后,必须等待线程休眠过后,其他线程才可以拿到锁
3.wait()
wait()方法被调用后会释放自己的锁,当被唤醒的时候会继续去竞争锁
4.notify()/notifyAll()
notify())/notifyAll() 方法不会释放锁,只有同步代码块的业务执行完成后才会释放锁,一般该方法放在代码最后一行
2024-03-22 22:54:58
1.yield()
yield()方法仅仅只是让出cpu的执行权,并不会将锁让出,不会释放。
2.sleep()
sleep()方法也不会将锁让出,不会释放,当我们的线程休眠后,必须等待线程休眠过后,其他线程才可以拿到锁
3.wait()
wait()方法被调用后会释放自己的锁,当被唤醒的时候会继续去竞争锁
4.notify()/notifyAll()
notify())/notifyAll() 方法不会释放锁,只有同步代码块的业务执行完成后才会释放锁,一般该方法放在代码最后一行