江湖告急!!win7线程同步问题``````
最近程序老出问题,查来查去终于找了罪魁祸首,原来是同步出了问题写了个程序测试了下,不测不知道,一测吓一跳.
CRITICAL_SECTION CriticalSection;
int _tmain(int argc, _TCHAR* argv[])
{
InitializeCriticalSection(&CriticalSection);
EnterCriticalSection(&CriticalSection);
MessageBox(0,"进入临界区","enter",MB_OK);
//LeaveCriticalSection(&CriticalSection);
EnterCriticalSection(&CriticalSection);
MessageBox(0,"我不会弹出...不会的,不会的....不可能的...","不可思议",MB_OK);
DeleteCriticalSection(&CriticalSection);
return 0;
}
调用EnterCriticalSection后我并没有leave,又再次调用EnterCriticalSection,
这样应该死锁才对,怎么程序就直接执行下去了,弹出了第2个messagebox,并没有在那里等待.以前一直好好的,直到最近程序出现问题,才找到这问题,以前都是能锁住的,现在怎么没用了.
平台 vs2010+Win7