JAVA多執行緒常見面試題總結

2021-08-26 02:59:03 字數 676 閱讀 3325

1:多執行緒有幾種實現方案,分別是哪幾種?

兩種。    

繼承thread類

實現runnable介面    

擴充套件一種:實現callable介面。這個得和執行緒池結合。

2:同步有幾種方式,分別是什麼?

兩種。    

同步**塊

同步方法

3:啟動乙個執行緒是run()還是start()?它們的區別?

start();

run():封裝了被執行緒執行的**,直接呼叫僅僅是普通方法的呼叫

start():啟動執行緒,並由jvm自動呼叫run()方法

4:sleep()和wait()方法的區別

sleep():必須指時間;不釋放鎖

wait():可以不指定時間,也可以指定時間;釋放鎖

5:為什麼wait(),notify(),notifyall()等方法都定義在object類中

因為這些方法的呼叫是依賴於鎖物件的,而同步**塊的鎖物件是任意鎖。

而object**任意的物件,所以,定義在這裡面。

6:執行緒的生命週期圖

新建 -- 就緒 -- 執行 -- 死亡

新建 -- 就緒 -- 執行 -- 阻塞 -- 就緒 -- 執行 -- 死亡

建議:畫**釋。

多執行緒常見面試題

第一題 執行緒的基本概念 執行緒的基本狀態及狀態之間的關係?第二題 執行緒與程序的區別?這個題目問到的概率相當大,計算機專業考研中也常常考到。要想全部答出比較難。第三題 多執行緒有幾種實現方法,都是什麼?第四題 多執行緒同步和互斥有幾種實現方法,都是什麼?我在參加2011年迅雷校園招聘時的一面和二面...

多執行緒常見面試題

兩種。繼承thread類 實現runnable介面 擴充套件一種 實現callable介面。這個得和執行緒池結合。兩種。同步 塊 同步方法 start run 封裝了被執行緒執行的 直接呼叫僅僅是普通方法的呼叫 start 啟動執行緒,並由jvm自動呼叫run 方法 sleep 必須指時間 不釋放鎖...

Java常見面試題

hashmap如何實現的?首先hashmap內部是由陣列 單向鍊錶結構組成,其中jdk1.8之後新增了紅黑樹進行優化處理。它是執行緒不安全的 如要執行緒安全的map,可用concurrenthashmap 分段鎖處理 允許key和value為空。預設大小 16 負載因子 0.75 當儲存數量到達16...