多執行緒-多執行緒常見的面試題
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:執行緒的生命週期圖
新建 -- 就緒 -- 執行 -- 死亡
新建 -- 就緒 -- 執行 -- 阻塞 -- 就緒 -- 執行 -- 死亡
兩種。
繼承Thread類
實現Runnable介面
擴充套件一種:實現Callable介面。這個得和執行緒池結合。
2:同步有幾種方式,分別是什麼?
兩種。
同步程式碼塊
同步方法
3:啟動一個執行緒是run()還是start()?它們的區別?
start();
run():封裝了被執行緒執行的程式碼,直接呼叫僅僅是普通方法的呼叫
start():啟動執行緒,並由JVM自動呼叫run()方法
4:sleep()和wait()方法的區別
sleep():必須指時間;不釋放鎖。
wait():可以不指定時間,也可以指定時間;釋放鎖。
5:為什麼wait(),notify(),notifyAll()等方法都定義在Object類中
因為這些方法的呼叫是依賴於鎖物件的,而同步程式碼塊的鎖物件是任意鎖。
而Object程式碼任意的物件,所以,定義在這裡面。
6:執行緒的生命週期圖
新建 -- 就緒 -- 執行 -- 死亡
新建 -- 就緒 -- 執行 -- 阻塞 -- 就緒 -- 執行 -- 死亡
建議:畫圖解釋。
相關文章
- 【面經】多執行緒常見面試題執行緒面試題
- 多執行緒面試題執行緒面試題
- Java多執行緒面試高配問題---多執行緒(3)🧵Java執行緒面試
- 多執行緒併發常見問題執行緒
- 談談這幾個常見的多執行緒面試題執行緒面試題
- 多執行緒面試題1執行緒面試題
- java多執行緒面試題Java執行緒面試題
- Linux多執行緒面試題Linux執行緒面試題
- 多執行緒經典面試題執行緒面試題
- 敲開阿里大門的執行緒、多執行緒和執行緒池面試專題阿里執行緒面試
- 多執行緒-執行緒的狀態轉換圖及常見執行情況執行緒
- 多執行緒【執行緒池】執行緒
- 多執行緒--執行緒管理執行緒
- Java多執行緒——執行緒Java執行緒
- 【多執行緒】常見問題簡單總結執行緒
- VC多執行緒 C++ 多執行緒執行緒C++
- 多執行緒-執行緒控制之休眠執行緒執行緒
- 多執行緒-執行緒控制之加入執行緒執行緒
- 多執行緒-執行緒控制之禮讓執行緒執行緒
- 多執行緒-執行緒控制之中斷執行緒執行緒
- 多執行緒程式設計,處理多執行緒的併發問題(執行緒池)執行緒程式設計
- 15個Java多執行緒面試題Java執行緒面試題
- 50個Java多執行緒面試題Java執行緒面試題
- java多執行緒執行問題Java執行緒
- 執行緒以及多執行緒,多程式的選擇執行緒
- 多執行緒之初識執行緒執行緒
- Java多執行緒-執行緒中止Java執行緒
- Java多執行緒——執行緒池Java執行緒
- 多執行緒-執行緒概述等執行緒
- 多執行緒問題執行緒
- 多執行緒系列(1),多執行緒基礎執行緒
- 多執行緒系列(二):多執行緒基礎執行緒
- Java面試中,一些常見的有關多執行緒問題!Java面試執行緒
- 多執行緒------執行緒與程式/執行緒排程/建立執行緒執行緒
- 多執行緒-執行緒控制之守護執行緒執行緒
- a、多執行緒執行緒
- Java多執行緒-執行緒池的使用Java執行緒
- 多執行緒(五)---執行緒的Yield方法執行緒