1. 程式人生 > >Java面試--關於執行緒

Java面試--關於執行緒

我寫在這裡面的東西,都是自己一些平時的積累,來自於集合各路大佬的心得和自己的一點小總結,只為自己學習圖個方便,也是為了強迫自己有個記錄的習慣,希望可以一直堅持寫!

1.什麼是執行緒?

我們電腦中執行的程式可以看作是一個程序,就像是一個大的管道,裡面包含了很多個小的管道,每個管道呢,裡面裝的東西也不一樣,我們就可以把這些個小的管道看作是一個執行緒。

2.執行緒的實現方式?

  繼承Thread類,重寫run()

  實現Runnable介面,重寫run()

  實現Callable介面,重寫call()

         需要FutureTask來實現類的支援,用於接收運算結果(FutrueTask是Future介面的實現類)

  使用執行緒池建立執行緒

3.執行緒的幾種狀態

  · 新建狀態:新建了一個執行緒物件

  · 就緒狀態:執行緒物件建立後,其他執行緒呼叫了該物件的start(),此時,該執行緒處於“可執行狀態”,只等待獲取cpu的使用權

  · 執行狀態:就緒狀態的執行緒獲得了cpu,執行程式

  · 阻塞狀態:執行緒因某中原因放棄cpu使用權,暫時停止執行,直到執行緒進入就緒狀態,才有機會轉到執行狀態

  · 死亡狀態:執行緒執行完成或者因異常退出看run(),該執行緒結束生命週期。

先寫這麼多,下次補充。