我创建了多个线程,使用同一个threadProc,也设了一个互斥信号量来协调(我本来是做生产者消费者模拟的,这个互斥信号量只是为了生产者进程的协调),一个线程绘制了一个图片,然后休眠一会,再执行恢复绘制的时候就出现问题了,高手帮帮小弟。void CProducers::ProduceActive(UINT producerId)
{
//替换状态
buffDc->TransparentBlt(5,64+50*producerId,90,20,srcDc,0,140,90,20,RGB(255,255,255));
buffDc->TransparentBlt(79,60+50*producerId,53,46,srcDc,50,5,53,46,RGB(255,255,255));
destDc->BitBlt(0,0,rect.Width(),rect.Height(),buffDc,0,0,SRCCOPY);
Sleep(2000); //恢复空闲状态
buffDc->FillSolidRect(CRect(5,64+50*producerId,95,84+50*producerId),RGB(GetRValue(sysColor),GetGValue(sysColor),GetBValue(sysColor)));
buffDc->TransparentBlt(79,60+50*producerId,53,46,srcDc,0,5,53,46,RGB(255,255,255));
destDc->BitBlt(0,0,rect.Width(),rect.Height(),buffDc,0,0,SRCCOPY);
}就是在恢复空闲状态出的问题。