这个线程同步有些问题 本帖最后由 xiaoyuanyuan2009 于 2012-04-10 19:33:21 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 pThread1->m_bAutoDelete=pThread2->m_bAutoDelete=0; 默认是自动释放,线程结束后pThread1在析构函数里被delete,句柄被closehandle,::GetExitCodeThread(pThread2->m_hThread, &dd);这里已经无效了,可以用楼上大神的方法自己释放,也可以用duplicatehandle(好像是这个) 回1楼回2楼:下面 GetExitCode 是456 了。 TRACE 还全是1void CMainWindow::click(){ arr.SetSize(1000); for(int i = 0; i<=999; i++) arr[i] = 777; CWinThread *pThread1 = AfxBeginThread( ThreadFunc1,this,THREAD_PRIORITY_NORMAL, 0, CREATE_SUSPENDED ); CWinThread *pThread2 = AfxBeginThread( ThreadFunc2,this,THREAD_PRIORITY_NORMAL, 0, CREATE_SUSPENDED ); pThread1->m_bAutoDelete=pThread2->m_bAutoDelete=0; pThread1->ResumeThread(); pThread2->ResumeThread(); ::WaitForSingleObject(pThread1->m_hThread, INFINITE); ::WaitForSingleObject(pThread2->m_hThread, INFINITE); TRACE("\n\n\n"); for(int i = 0; i < arr.GetSize(); i++) TRACE("%d\t", arr[i]); DWORD dd; ::GetExitCodeThread(pThread2->m_hThread, &dd); TRACE("\n\n****\n%d\n***",dd);} 麻烦点话可以再用个event控制下 this.SwapBuffer(); 如何通过hook BitBlt实现截屏? VC6中,怎么看到printf打印出来的信息? mysql 库连接出错问题。 帮忙:如何实现对数据库数据的加密? ??调用COM运行过程中的奇怪错误。 OpenNI 的简介与初步应用(7) 請問誰有比較好的隨機數生成算法。 关于VC列表控件的问题...高手们帮帮我.. VC++使用ADO读取ACCESS时类型不匹配问题 求把两块new出来的内存弄成连续的C/C++函数 求教怎么改vs2010的环境 才能运行这个mfc
::GetExitCodeThread(pThread2->m_hThread, &dd);这里已经无效了,可以用楼上大神的方法自己释放,也可以用duplicatehandle(好像是这个)
回2楼:
下面 GetExitCode 是456 了。 TRACE 还全是1void CMainWindow::click()
{
arr.SetSize(1000);
for(int i = 0; i<=999; i++)
arr[i] = 777;
CWinThread *pThread1 = AfxBeginThread( ThreadFunc1,this,THREAD_PRIORITY_NORMAL, 0, CREATE_SUSPENDED );
CWinThread *pThread2 = AfxBeginThread( ThreadFunc2,this,THREAD_PRIORITY_NORMAL, 0, CREATE_SUSPENDED );
pThread1->m_bAutoDelete=pThread2->m_bAutoDelete=0; pThread1->ResumeThread();
pThread2->ResumeThread();
::WaitForSingleObject(pThread1->m_hThread, INFINITE);
::WaitForSingleObject(pThread2->m_hThread, INFINITE);
TRACE("\n\n\n");
for(int i = 0; i < arr.GetSize(); i++)
TRACE("%d\t", arr[i]); DWORD dd;
::GetExitCodeThread(pThread2->m_hThread, &dd);
TRACE("\n\n****\n%d\n***",dd);}