多线程例子(3)

来源:互联网 发布:java heap的使用 编辑:程序博客网 时间:2024/05/17 09:13


DWORD CMultiThread4Dlg::threadFunc(LPVOID threadNum)
{
 while(g_IsRun)
 {
  Sleep(3000);
 }
 return 0;
}

void CMultiThread4Dlg::OnTest()
{
 // TODO: Add your control notification handler code here
 DWORD ThreadID;

 GetDlgItem(IDC_TEST)->EnableWindow(FALSE);

 long nCount = 0;

 while (g_IsRun)
 {
  if (NULL == CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)(threadFunc),NULL,0,&ThreadID))
  {
   g_IsRun = false;
   break;
  }
  else
  {
   nCount++;
  }
 }

 m_nCount = nCount;
 UpdateData(false);
 Sleep(5000);

 GetDlgItem(IDC_TEST)->EnableWindow(TRUE);
 g_IsRun = TRUE;
 
}

运行效果 :

原创粉丝点击