2010-09-21 75 views
1

我記得通過將方法分爲'external'和'internal'來處理C++中鎖定問題的設計模式(其中一些鎖定不可重入) 。外部人員獲得鎖定並可以調用內部鎖定,然後依次聲明鎖定被鎖定。外部的不能調用其他外部的(因爲那會造成死鎖),同樣的原因,內部的不能調用外部的。有人記得這種模式的名字嗎?鎖定設計模式名稱(使用內部方法)

+0

它看起來很粗糙,只要設計去... – 2010-09-21 18:54:46

回答

1

我不認爲這是一個真正的設計模式 - 對我來說這是一個實施實踐,旨在防止死鎖,並在錯誤使用該類的情況下檢測它們。

編輯: 但是,Douglas Schmidt不同意,所以我想這是一種模式。

+0

然而,它確實有一個名稱,我清楚地記得在設計模式書中讀到它... – 2010-09-21 18:43:59

0

這種模式不僅適用於鎖和線程,還適用於API必須「設置某些東西」的許多其他情況,對其執行某些操作並將其取下。歷史示例包括切換到自己的堆棧的API,或將被切換到內存,操縱和劃出的圖形硬件系統。

相關問題