Day66.練習5 -Java多執行緒
1. 畫圖說明執行緒的生命週期;以及各狀態切換使用到的方法
2. 同步程式碼塊中設計到同步監視器和共享資料,談談你對同步監視器和共享資料的理解,以及注意點。
同步監視器是一個物件,相當於鎖,哪個執行緒獲得同步監視器就相當於拿到了鎖,他就進入了程式碼塊中去執行,沒有鎖的執行緒只能等待,獲得鎖的執行完再進行被分配鎖,對於多個執行緒,他在同步程式碼塊中鎖必須保證是唯一的,且要避免死鎖的情況發生;
共享資料就是被多個執行緒共享操作的資料,他會因為同步問題出現執行緒安全問題。需要用到同步方法來進行同步。防止出現執行緒安全問題。
synchronized(同步監視器){
//操作共享資料的程式碼
}
3. sleep()和wait()區別
相同點: 都可以使一個執行緒進入阻塞狀態
不同點: sleep(): 會自動釋放同步監視器;sleep()只能使用與介面Thread類下。
wait(): 不能自動釋放同步監視器,需要呼叫notify()來釋放同步監視器;wait()則是實現java.lang.Object下,可在任何情況下使用。
4. 寫一個執行緒安全的懶漢式
public class Singleton{
private static Singleton instance;
private Singleton(){}
public static synchronized Singleton getInstance(){
if(instance == null){
Singleton instance = new Singleton();
}
return instance;
}
}
5. 建立多執行緒的方式有幾種?
4種;
Thread類繼承;
Runnable介面實現;
Callable介面實現;
執行緒池(響應速度提高,提高了資源的重複率,便於管理)
相關文章
- 多執行緒-作業練習執行緒
- Java多執行緒學習(一)Java多執行緒入門Java執行緒
- 【Java】多執行緒複習Java執行緒
- Java多執行緒學習Java執行緒
- Java多執行緒學習——執行緒通訊Java執行緒
- Java多執行緒學習(2)執行緒控制Java執行緒
- java多執行緒5:執行緒間的通訊Java執行緒
- java多執行緒(5)死鎖Java執行緒
- Java多執行緒——執行緒Java執行緒
- #大學#Java多執行緒學習02(執行緒同步)Java執行緒
- Java 多執行緒NIO學習Java執行緒
- Java多執行緒(學習篇)Java執行緒
- Java多執行緒學習(3)執行緒同步與執行緒通訊Java執行緒
- Java多執行緒-執行緒中止Java執行緒
- Java多執行緒——執行緒池Java執行緒
- 多執行緒基礎練習實踐篇執行緒
- Java中多執行緒的概述、實現方式、執行緒控制、生命週期、多執行緒程式練習、安全問題的解決...Java執行緒
- java執行緒學習5——執行緒同步之同步方法Java執行緒
- 【Java多執行緒】輕鬆搞定Java多執行緒(二)Java執行緒
- Java 多執行緒學習筆記Java執行緒筆記
- java學習筆記--多執行緒Java筆記執行緒
- java多執行緒學習小案例Java執行緒
- Java多執行緒學習(八)執行緒池與Executor 框架Java執行緒框架
- Java 多執行緒學習筆記(三)-守護執行緒Java執行緒筆記
- java——多執行緒Java執行緒
- java 多執行緒Java執行緒
- 【Java】多執行緒Java執行緒
- JAVA 多執行緒 ??Java執行緒
- java多執行緒Java執行緒
- Java - 多執行緒Java執行緒
- java 多執行緒守護執行緒Java執行緒
- Java多執行緒-執行緒通訊Java執行緒
- Java多執行緒-執行緒狀態Java執行緒
- Java多執行緒(2)執行緒鎖Java執行緒
- java多執行緒9:執行緒池Java執行緒
- Java多執行緒之執行緒中止Java執行緒
- 【java多執行緒】(二)執行緒停止Java執行緒
- Java多執行緒——守護執行緒Java執行緒