Java面試--關於執行緒
阿新 • • 發佈:2018-12-21
我寫在這裡面的東西,都是自己一些平時的積累,來自於集合各路大佬的心得和自己的一點小總結,只為自己學習圖個方便,也是為了強迫自己有個記錄的習慣,希望可以一直堅持寫!
1.什麼是執行緒?
我們電腦中執行的程式可以看作是一個程序,就像是一個大的管道,裡面包含了很多個小的管道,每個管道呢,裡面裝的東西也不一樣,我們就可以把這些個小的管道看作是一個執行緒。
2.執行緒的實現方式?
繼承Thread類,重寫run()
實現Runnable介面,重寫run()
實現Callable介面,重寫call()
需要FutureTask來實現類的支援,用於接收運算結果(FutrueTask是Future介面的實現類)
使用執行緒池建立執行緒
3.執行緒的幾種狀態
· 新建狀態:新建了一個執行緒物件
· 就緒狀態:執行緒物件建立後,其他執行緒呼叫了該物件的start(),此時,該執行緒處於“可執行狀態”,只等待獲取cpu的使用權
· 執行狀態:就緒狀態的執行緒獲得了cpu,執行程式
· 阻塞狀態:執行緒因某中原因放棄cpu使用權,暫時停止執行,直到執行緒進入就緒狀態,才有機會轉到執行狀態
· 死亡狀態:執行緒執行完成或者因異常退出看run(),該執行緒結束生命週期。
先寫這麼多,下次補充。