WaitForSingleObject 访问冲突
UINT WriteW(LPVOID lpParam)
{
CEdit *pEdit=(CEdit*)lpParam;
pEdit->SetWindowText(_T(""));
for(int i=0;i<10;i++)
{
g_Array[i]=(char)"W";
char str[256];
strcpy_s(str,g_Array);
MessageBox(0,(LPCWSTR)str,TEXT("提示"),MB_OK);
pEdit->SetWindowText((LPCTSTR)g_Array);
Sleep(1000);
}
eventWriteD->SetEvent();
return 0;
}
UINT WriteD(LPVOID lpParam)
{
CEdit *pEdit=(CEdit*)lpParam;
pEdit->SetWindowText(_T(""));
WaitForSingleObject(eventWriteD->m_hObject,INFINITE);
for(int i=0;i<10;i++)
{
g_Array[i]=(char)"D";
pEdit->SetWindowText((LPCTSTR)g_Array);
Sleep(1000);
}
return 0;
}
void CMultiThread9Dlg::OnBnClickedWritew()
{
// TODO: 在此添加控件通知处理程序代码
CWinThread *pWriteW=AfxBeginThread(WriteW,&m_ctrlW,THREAD_PRIORITY_NORMAL,0, CREATE_SUSPENDED);
pWriteW->ResumeThread();
CWinThread *pWriteD=AfxBeginThread(WriteD,&m_ctrlD,THREAD_PRIORITY_NORMAL,0,CREATE_SUSPENDED);
pWriteD->ResumeThread();
}
MultiThread9.exe 中的 0x0041350a 处最可能的异常: 0xC0000005: 读取位置 0x00000004 时发生访问冲突
MultiThread9.exe 中的 0x0041350a 处有未经处理的异常: 0xC0000005: 读取位置 0x00000004 时发生访问冲突
WaitForSingleObject? 访问冲突
[解决办法]
最好先跟踪一下,看看是哪条语句出的问题