java高併發程序設計學習筆記七併發設計模式

一、什麼是設計模式

在軟件工程中,設計模式(design pattern)是對軟件設計中普遍存在(反覆出現)的各種問題,所提出的解決方案。

這個術語是由埃裏希·伽瑪(Erich Gamma)等人在1990年代從建築設計領域引入到計算機科學的。

《 設計模式:可複用面向對象軟件的基礎》 收錄 23種模式觀察者模式策略模式裝飾者模式享元模式模板方法
*架構模式:MVC、分層;

*設計模式:提煉系統中的組件;
*代碼模式(成例idiom):低層次,與編碼直接相關;如DCL;

二、單例模式

單例對象的類必須保證只有一個實例存在。許多時候整個系統只需要擁有一個的全局對象,這樣有利於我們協調系統整體的行爲

比如:全局信息配置

幾種實現方式(大概五種):


三、不變模式

一個類的內部狀態創建後,在整個生命期間都不會發生變化時,就是不變類。

不變模式不需要同步

final;

public final class Product {
//確保無子類
private final String no;
//私有屬性,不會被其他對象獲取
private final String name;
//final保證屬性不會被2次賦值
private final double price;
public Product(String no, String name, double price){ //在創建對象時,必須指定數據
super();
//因爲創建之後,無法進行修改
this.no = no;
this.name = name;
this.price = price;
}
public String getNo() {
return no;
}
public String getName() {
return name;
}
public double getPrice() {
return price;
}
}

如下類:

java.lang.String
java.lang.Boolean
java.lang.Byte
java.lang.Character
java.lang.Double
java.lang.Float
java.lang.Integer
java.lang.Long
java.lang.Short


四、Future模式

核心思想是異步調用。

*

*


五、生產者消費者模式

生產者-消費者模式是一個經典的多線程設計模式。它爲多線程間的協作提供了良好的解決方案。
在生產者-消費者模式中,通常由兩類線程,即若干個生產者線程和若干個消費者線程。生產者線程負責提交用戶請求,

消費者線程則負責具體處理生產者提交的任務

生產者和消費者之間則通過共享內存緩衝區進行通信



發佈了64 篇原創文章 · 獲贊 45 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章