1. 程式人生 > >【面試】執行緒/執行緒池總結

【面試】執行緒/執行緒池總結

打個模板,有時間慢慢填空

執行緒總結

1.      什麼是執行緒,什麼是程序,執行緒和程序有什麼區別?

2.      使用執行緒的優點和缺點是什麼

3.      普通java程式中有執行緒嗎(JVM中的執行緒)

4.      執行緒的名字

5.      執行緒的狀態【重要】

6.      執行緒的建立方式之一:繼承Thread類

7.      CPU的執行資格,和執行權

8.      多執行緒是怎麼執行的

9.      執行緒的建立方式之二:實現Runnable介面

10.  怎麼啟動執行緒(實現Runnable介面的時候怎麼啟動)

11.  Sleep方法解釋,以及丟擲必須捕獲的異常。

12.  【程式碼】買票程式

(1)      怎麼共享資料:使用static

(2)      怎麼共享資料:使用物件

(3)      同步程式碼塊

(4)      同步的前提

13.  怎麼確定那一塊程式碼需要執行緒同步

14.  同步函式是什麼

15.  同步函式和同步程式碼塊的區別是什麼

16.  加了同步仍然不安全怎麼辦(使用鎖)

17.  同步程式碼塊,同步函式,靜態同步函式的鎖的物件是哪個

18.  什麼是死鎖

19.  寫一個死鎖的例子

20.  執行緒間通訊(共享資料)有幾種方式

21.  同步並且加了鎖,仍然出現問題,怎麼辦

22.  等待喚醒機制(程式碼,示意圖)

23.  為什麼wait(), notify(), notifyAll() 定在在了Object中

24.  生產者消費者【重要】

25.  Wait和sleep的區別

26.  停止執行緒的方法

(1)      stop,已過時

(2)      suspend,已過時

(3)      run方法結束,表示執行緒停止(定義標記)

(4)      interrupt(),標記不好使的時候,使用interrupt和標記結合使用

27.  在同步程式碼塊中,執行緒想要執行,需要滿足什麼條件

28.  什麼是守護執行緒setDaemon

29.  什麼是Join,join方法怎麼用

30.  toString(什麼是執行緒優先順序,執行緒組)

31.  yield有什麼作用

32.  幾個面試題

(1)      視訊1

(2)      視訊2

(3)      執行緒池用過嗎

執行緒池總結

1.      執行緒建立的方式之三:實現Callable介面

2.      Callable介面和Runable介面的區別

3.      什麼是Future介面,幹什麼用的?

4.      Callable可以線上程中使用嗎(newThread(Runnable r))?

5.      Callable怎麼建立執行緒?

6.      執行緒排程策略有哪些?介紹一下?

7.      什麼是執行緒池,執行緒池有什麼優點?

8.      Executor, ExecutorService,Executors, ThreadPoolExecutor 分別解釋一下(在草稿紙上)

9.      詳細介紹一下ThreadPoolExecutor

10.  怎麼建立執行緒池,執行緒池有幾種?分別有什麼特點?

11.  執行緒池怎麼關閉,shutDown和shutDownNow有什麼區別?