multi_thread_example.exe 中的 0x778d6d79 处有未经处理的异常: 0xC0000005: 写入位置 0x00000014 时发生访问冲突
//MFC,单文档实现临界区线程同步时,请在MainFram.cpp的构造函数里面初始化。
int CThreadSend::Run(void) { //return 0; while (bRun) { EnterCriticalSection(&cs); //单文档实现临界区线程同步时,请在MainFram.cpp的构造函数里面初始化。 if (globalList.GetCount() < 100) { CTime time = CTime::GetCurrentTime(); CString in; in.Format("第%d次的运行时间=%s", iIndex++, time.Format( "%Y-%m-%d %H:%M:%S" )); globalList.AddTail(in); } LeaveCriticalSection(&cs); Sleep(1000); } return CWinThread::Run(); }
int CThreadSend::Run(void)
{
//return 0;
while (bRun)
{
EnterCriticalSection(&cs); //单文档实现临界区线程同步时,请在MainFram.cpp的构造函数里面初始化。
if (globalList.GetCount() < 100)
{
CTime time = CTime::GetCurrentTime();
CString in;
in.Format("第%d次的运行时间=%s", iIndex++, time.Format( "%Y-%m-%d %H:%M:%S" ));
globalList.AddTail(in);
}
LeaveCriticalSection(&cs);
Sleep(1000);
}
return CWinThread::Run();
}
// CMainFrame 构造/析构
CMainFrame::CMainFrame()
{
// TODO: 在此添加成员初始化代码
theApp.m_nAppLook = theApp.GetInt(_T("ApplicationLook"), ID_VIEW_APPLOOK_VS_2008);
InitializeCriticalSection(&cs);//new added
}
CMainFrame::~CMainFrame()
{
DeleteCriticalSection(&cs); //new added
}