基本介紹
- 中文名:併發型模式
- 外文名:Concurrency pattern
舉例,設計模式 (計算機),雙重檢查鎖定模式,
舉例
- 主動對象
- Balking pattern
- Guarded suspension
- Leaders/followers pattern
- 監視對象
- 讀寫鎖模式
- 調度者模式
- 執行緒本地存儲
- 反應堆模式
設計模式 (計算機)
在軟體工程中,設計模式(design pattern)是對軟體設計中普遍存在(反覆出現)的各種問題,所提出的解決方案。這個術語是由埃里希·伽瑪(Erich Gamma)等人在1990年代從建築設計領域引入到計算器科學的。
設計模式並不直接用來完成代碼的編寫,而是描述在各種不同情況下,要怎么解決問題的一種方案。面向對象設計模式通常以類別或對象來描述其中的關係和相互作用,但不涉及用來完成應用程式的特定類別或對象。設計模式能使不穩定依賴於相對穩定、具體依賴於相對抽象,避免會引起麻煩的緊耦合,以增強軟體設計面對並適應變化的能力。
雙重檢查鎖定模式
雙重檢查鎖定模式(也被稱為"雙重檢查加鎖最佳化","鎖暗示"(Lock hint)) 是一種軟體設計模式用來減少並發系統中競爭和同步的開銷。雙重檢查鎖定模式首先驗證鎖定條件(第一次檢查),只有通過鎖定條件驗證才真正的進行加鎖邏輯並再次驗證條件(第二次檢查)。
該模式在某些語言在某些硬體平台的實現可能是不安全的。有的時候,這一模式被看做是反模式。
它通常用於減少加鎖開銷,尤其是為多執行緒環境中的單例模式實現“惰性初始化”。惰性初始化的意思是直到第一次訪問時才初始化它的值。