C++主线程等待子线程结束
小火龙呢 2018-01-05 03:35:11 主线程:
hThread = (HANDLE)_beginthreadex( NULL, 0, &ThreadFun, NULL, 0, &nThreadID );
StartWork()
OnDownloadButton(index);//执行其他操作
-------------------------------------------------------------------------------------------
BOOL CAuto_DownloadDlg::StartWork(int nThreadIndex)
{
UpdateData(TRUE);
//初始化
PostThreadMessage(m_tid[nThreadIndex], WM_INIT_DISK, NULL, NULL);
//下载
PostThreadMessage(m_tid[nThreadIndex], WM_DOWN_FILE, NULL, NULL);
}
DWORD WINAPI ThreadFun(LPVOID lp)
{
int nIndex = (int)lp;
MSG msg;
while(GetMessage(&msg, NULL, 0, 0))
{
DWORD dwRtn = 0;
switch(msg.message)
{
case WM_INIT_DISK:
g_pDlg->InitDisk(nIndex);
break;
case WM_DOWN_FILE:
...
}
}
}