Multithreading Multi-Threaded Programming
Multithreading Multi-Threaded Programming
Multithreading Multi-Threaded Programming
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Example of Threads Pool –Thread function<br />
UINT ComputingThread(LPVOID lpvData)<br />
{<br />
DWORD dwWait; BOOL bStop=FALSE;<br />
HANDLE hTerminateSignal = (HANDLE)lpvData;<br />
while(!bStop)<br />
{<br />
dwWait = MsgWaitFor<strong>Multi</strong>pleObjects(1, &hTerminateSignal, FALSE, 0,<br />
QS_ALLINPUT);<br />
MSG msg;<br />
while(PeekMessage(&msg, NULL, NULL, NULL, PM_REMOVE))<br />
{<br />
TranslateMessage(&msg);<br />
DispatchMessage(&msg);<br />
}<br />
if(dwWait == WAIT_TIMEOUT)<br />
{ … /*computing */ }<br />
}else if(dwWait == WAIT_OBJECT_0) {<br />
break; // Terminate signal set. Break out of loop<br />
} //End Of if(dwWait == WAIT_TIMEOUT)<br />
}//End Of while(!bStop)<br />
::PostMessage(g_hWndMain, MYWM_TERMINATING, GetCurrentThreadId(), 0);<br />
}<br />
55<br />
Advanced Windows Network <strong>Programming</strong><br />
11/11/12