有关多线程何时开始执行……
何哀何欢 2003-01-30 02:40:11 当按下 ID_OK 时, Thread 函数 从何时开始执行?
0. DWORD WINAPI Thread(LPVOID lpvParam) //需要执行的线程函数
{
//do something
return(0);
}
....
1. void Dlg_OnCommand (HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)
2. {
3. switch (id)
4. {
5. case IDOK: //创建一个线程:
6. hThread =(HANDLE)_beginthreadex(0, 0,Thread,(LPVOID)lpParam, 0, &dwThreadId);
7. CloseHandle(hThread);
8. break; //可以肯定 从创建至此 Thread函数 不会执行
case IDCANCEL:
break;
11. }
12. }
....
14. BOOL CALLBACK Dlg_Proc (HWND hwnd, UINT uMsg,WPARAM wParam, LPARAM lParam)
{
15. switch (uMsg)
{
16. case (message):
17. return (SetDlgMsgResult(Dlg_OnCommand(hwnd,
LOWORD(wParam),
(HWND)lParam,(UINT)HIWORD(wParam))));
18. }
19. return(FALSE);
20. }
....