mfc CAtomicPtr实例
时间: 2023-10-07 07:08:26 浏览: 26
CAtomicPtr是MFC中的一个类,用于原子操作指针类型的成员变量。下面是一个CAtomicPtr的示例:
```cpp
class CMyClass
{
public:
CMyClass() : m_pData(NULL) {}
void SetData(int* pData)
{
m_pData = pData;
}
void UpdateData(int nNewData)
{
int* pOldData = m_pData;
int* pNewData = new int(nNewData);
while (!m_pData->CompareAndExchange(pOldData, pNewData))
{
delete pNewData;
pNewData = new int(nNewData);
pOldData = m_pData;
}
delete pOldData;
}
private:
CAtomicPtr<int> m_pData;
};
```
在这个示例中,CMyClass有一个指向int类型的指针成员变量m_pData。SetData函数用于设置m_pData的值,UpdateData函数用于更新m_pData的值。在UpdateData函数中,我们使用了CompareAndExchange函数来进行原子操作,确保多线程环境下的数据一致性。