线程里频繁使用SelectObject()与Ellipse()出异常
在多线程中每隔100毫秒执行m_pDc->SelectObject()与m_pDc->Ellipse(),执行了大概5分多钟后,出如下异常CResourceException。这是什么原因了?谢谢指导!
异常:“MyDisplay.exe 中的 0x77da15de 处未处理的异常: Microsoft C++ 异常: 内存位置 0x02dff610 处的 CResourceException。”
m_pWinThreadDisplay_IOStatus=AfxBeginThread(ThreadFunc_Display_IOStatus, this);
UINT ThreadFunc_Display_IOStatus(LPVOID lpParam)
{
while(g_bOk==TRUE)
{
CBrush *pOldBrush;
for(int i=0; i<9; i++)
{
if(1==a[i])
{
pOldBrush=m_pDc->SelectObject(&m_GreenBrush);//m_GreenBrush是类的CBrush成员变量,在对话框初始化时Create().
}
else
{
pOldBrush=m_pDc->SelectObject(&m_RedBrush);//m_RedBrush是类的CBrush成员变量,在对话框初始化时Create().
}
m_pDc->Ellipse(m_X[i],m_Y[i],m_X[i]+30,m_Y[i]+30);//m_X[],m_Y[]已经定义.
m_pDc->SelectObject(pOldBrush);
}
Sleep(100);
}
return 0;
}