ACE中的Double Checked Locking 模式 --轉(zhuǎn)貼
摘要: 1、標(biāo)準(zhǔn)的單例。開發(fā)正確的有效的并發(fā)應(yīng)用是困難的。程序員必須學(xué)習(xí)新的技術(shù)(并發(fā)控制和防止死鎖的算法)和機制(如多線程和同步API)。此外,許多熟悉的設(shè)計模式(如單例和迭代子)在包含不使用任何并發(fā)上下文假設(shè)的順序程序中可以工作的很好。為了說明這點,考慮一個標(biāo)準(zhǔn)的單例模式在多線程環(huán)境下的實現(xiàn)。單例模式保證一個類僅有一個實例同時提供了全局唯一的訪問這個實例的入口點。在c++程序中動態(tài)分配單例對象是通用的方式,這是因為c++程序沒有很好的定義靜態(tài)全局對象的初始化次序,因此是不可移植的。而且,動態(tài)分配避免了單例對象在永遠(yuǎn)沒有被使用情況下的初始化開銷。
閱讀全文
posted @
2008-08-15 17:42 。。。。 閱讀(872) |
評論 (0) 編輯
ACE程序入口main?
摘要: 用過ACE的都知道,我們的主函數(shù)被改寫了,加入了初始化的動作。主函數(shù)是被宏替換的。
下面我們一層層找出ACE背后是如可幫我們初始化的。
閱讀全文
posted @
2008-04-07 22:15 。。。。 閱讀(2625) |
評論 (2) 編輯