java面試題之wait(),notify()和suspend(),resume()之間的區別


wait()方法和notify()方法的區別:

這兩個方法都是屬於Object類中的,也是配套使用的,當調用這兩個方法阻塞時要釋放占用的鎖,而鎖是任何對象都具有的,調用任意對象的wait()方法導致線程阻塞,並且該對象上的鎖被釋放;

而調用任意對象的notify()方法則導致從調用該對象的wait()方法而阻塞的線程中隨機選擇一個解除阻塞

 

suspend()方法和resume()方法區別:

這兩個方法配套使用,suspend方法使得線程進入阻塞狀態,並且不會自動恢復,必須其對應的resume方法被調用,才能使得線程重新進入可執行狀態。

 

yield方法:使當前線程放棄當前已經分得的CPU時間,但不使當前線程阻塞,即線程仍處於可執行狀態,隨時可能再次分的CPU時間。調用yield方法的效果等價於調度程序認為該線程已執行了足夠的時間從而轉到另一個線程


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM