【Java面试题】调用yield()、sleep()、notify()、wait()等方法对锁有何影响?

yield():让出CPU的执行权,进入就绪状态,不会释放锁;

sleep():线程休眠,但不会释放锁;

notify():对锁无影响,线程只有在synchronized同步代码执行完成后,才会释放锁,

               所以,notify系列方法一般都是在synchronized同步代码的最后一行。

wait():会释放当前线程所持有的锁,而且当被唤醒后,会重新去竞争锁,锁竞争到后才会执行wait方法后面的代码。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章