ACE中的同步機(jī)制是輕量級高效的,它不同于MFC中的同步類,MFC中的同步類采用了類繼承的方式,而ACE并沒有用繼承方式,各個(gè)不同的鎖類是平行的關(guān)系,這些類支持相同的接口,即它們的所有公共方法是相同的,因此可被適配用于動(dòng)態(tài)綁定和替換,這種動(dòng)態(tài)綁定是沒有虛函數(shù)調(diào)用開銷的,且這些方法代碼短小使用了內(nèi)聯(lián)實(shí)現(xiàn)。應(yīng)用程序開發(fā)者可以通過指定模板實(shí)參來使用不同的鎖,并可在運(yùn)行時(shí)動(dòng)態(tài)替換。
ACE中的鎖是易于使用的,既有互斥鎖(ACE_Mutex)又有讀寫鎖(ACE_RW_Mutex),這些鎖又細(xì)分為專門用于線程同步(ACE_Thread_Mutex,ACE_RW_Thread_Mutex)和進(jìn)程(ACE_Process_Mutex,ACE_RW_Process_Mutex)同步的特定鎖。相比MFC高級的是ACE中還提供了遞歸互斥體(ACE_Token),可有效地用于某些遞歸例程。
ACE中提供了ACE_Lock鎖抽象基類和ACE_Adapter_Lock鎖適配器模板類,ACE_Adapter_Lock從ACE_Lock繼承,實(shí)現(xiàn)了動(dòng)態(tài)綁定和替換。另外,ACE還提供了ACE_Atomic_Op模板類,重載了基本的算術(shù)運(yùn)算符,實(shí)現(xiàn)了原子化算術(shù)運(yùn)算。
posted on 2009-04-02 16:33
春秋十二月 閱讀(2080)
評論(1) 編輯 收藏 引用 所屬分類:
Opensrc