- #include <Windows.h>
- #include <stdio.h>
- #include <tchar.h>
- DWORD WINAPI ThreadProc(LPVOID lpParam);
- DWORD WINAPI ThreadProc(LPVOID lpParam){
- LPDWORD lpData;
- DWORD i = 0;
- lpData = (LPDWORD)lpParam;
- for(i=0;i<10;i++){
- printf("TID = %u,\t Parameter = %u\ti=%u\n",GetCurrentThreadId(),*lpData,i);
- }
- ExitThread(i);
- return 0;
- }
- INT main(void){
- DWORD dwData;
- DWORD dwThreadId[2];
- HANDLE hThread[2];
- dwData = 1;
- hThread[0] = CreateThread(NULL,0,ThreadProc,&dwData,CREATE_SUSPENDED,&dwThreadId[0]);
- if(hThread[0] == NULL){
- ExitProcess(0);
- }
- dwData = 2;
- hThread[1] = CreateThread(NULL,0,ThreadProc,&dwData,0,&dwThreadId[0]);
- if(hThread[1] == NULL){
- ExitProcess(0);
- }
- Sleep(200);
- ResumeThread(hThread[0]);
- SuspendThread(hThread[1]);
- Sleep(300);
- TerminateThread(hThread[0],0);
- ResumeThread(hThread[1]);
- WaitForMultipleObjects(2,hThread,TRUE,INFINITE);
- CloseHandle(hThread[0]);
- CloseHandle(hThread[1]);
- system("pause");
- return 0;
- }
本文转hackfreer51CTO博客,原文链接:http://blog.51cto.com/pnig0s1992/629790,如需转载请自行联系原作者