多執行緒-多執行緒常見的面試題
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:執行緒的生命週期圖
新建 -- 就緒 -- 執行 -- 死亡
新建 -- 就緒 -- 執行 -- 阻塞 -- 就緒 -- 執行 -- 死亡
建議:畫圖解釋。
相關文章
- 【面經】多執行緒常見面試題執行緒面試題
- 多執行緒面試題執行緒面試題
- Linux多執行緒面試題Linux執行緒面試題
- 多執行緒面試題1執行緒面試題
- 談談這幾個常見的多執行緒面試題執行緒面試題
- Java多執行緒面試高配問題---多執行緒(3)🧵Java執行緒面試
- 多執行緒經典面試題執行緒面試題
- 敲開阿里大門的執行緒、多執行緒和執行緒池面試專題阿里執行緒面試
- 多執行緒和多執行緒同步執行緒
- 多執行緒--執行緒管理執行緒
- 執行緒與多執行緒執行緒
- 多執行緒【執行緒池】執行緒
- Java面試中,一些常見的有關多執行緒問題!Java面試執行緒
- 【多執行緒】常見問題簡單總結執行緒
- BATJ都愛問的多執行緒面試題BAT執行緒面試題
- 執行緒以及多執行緒,多程式的選擇執行緒
- Java多執行緒-執行緒中止Java執行緒
- 多執行緒之初識執行緒執行緒
- 好程式設計師Java教程分享Java多執行緒常見面試題程式設計師Java執行緒面試題
- 面試集錦(十四)多執行緒面試執行緒
- 多執行緒------執行緒與程式/執行緒排程/建立執行緒執行緒
- 多執行緒系列(1),多執行緒基礎執行緒
- 面試-實現多執行緒的方式面試執行緒
- bat等大公司常考java多執行緒面試題BATJava執行緒面試題
- 最常見的15個Java多執行緒,併發面試問題Java執行緒面試
- a、多執行緒執行緒
- 多執行緒(五)---執行緒的Yield方法執行緒
- 【Java多執行緒】執行緒安全的集合Java執行緒
- Java多執行緒-執行緒池的使用Java執行緒
- 多執行緒系列之 執行緒安全執行緒
- iOS 多執行緒之執行緒安全iOS執行緒
- Java多執行緒之執行緒中止Java執行緒
- Android多執行緒之執行緒池Android執行緒
- Java多執行緒-執行緒狀態Java執行緒
- Java多執行緒-執行緒通訊Java執行緒
- kuangshenshuo-多執行緒-執行緒池執行緒
- java 多執行緒守護執行緒Java執行緒
- Java多執行緒(2)執行緒鎖Java執行緒
- 多執行緒之手撕執行緒池執行緒