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...