16,473
社区成员
发帖
与我相关
我的任务
分享
DWORD WINAPI CDemoDlg::Thread1(LPVOID lp)
{
CDemoDlg *pthis = (CDemoDlg*)lp;
EnterCriticalSection(&pthis->cs);
EnterCriticalSection(&pthis->cs);//第二次进入
TRACE("Thread1\r\n");
LeaveCriticalSection(&pthis->cs);
while (true)
{
// 保证线程不结束
}
return true;
}
DWORD WINAPI CDemoDlg::Thread2(LPVOID lp)
{
CDemoDlg *pthis = (CDemoDlg*)lp;
EnterCriticalSection(&pthis->cs);
TRACE("Thread2\r\n");
LeaveCriticalSection(&pthis->cs);
while (true)
{
// 保证线程不结束
}
return true;
}
DWORD WINAPI CDemoDlg::Thread1(LPVOID lp)
{
CDemoDlg *pthis = (CDemoDlg*)lp;
WaitForSingleObject(pthis->m_Mutex, INFINITE);
WaitForSingleObject(pthis->m_Mutex, INFINITE);//第二次进入
TRACE("Thread1\r\n");
ReleaseMutex(pthis->m_Mutex);
while (true)
{
// 保证线程不结束
}
return true;
}
DWORD WINAPI CDemoDlg::Thread2(LPVOID lp)
{
CDemoDlg *pthis = (CDemoDlg*)lp;
WaitForSingleObject(pthis->m_Mutex, INFINITE);
TRACE("Thread2\r\n");
ReleaseMutex(pthis->m_Mutex);
while (true)
{
// 保证线程不结束
}
return true;
}