C++多线程例子
1 #include <iostream> 2 #include <windows.h> 3 #include <stdio.h> 4 using namespace std; 5 DWORD WINAPI ThreadProc(LPVOID lpParam) 6 { 7 int i=0; 8 while(i<20) 9 { 10 //cout<<"I am from a thread ,count="<<i++<<endl; 11 printf("I am from a thread ,count=%d\n",i++); 12 Sleep(500); 13 } 14 return 0; 15 } 16 int main(int argc, char* argv[]) 17 { 18 HANDLE hThread; 19 DWORD dwThreadId; 20 //创建一个线程 21 hThread=::CreateThread( 22 NULL,//默认安全属性 23 NULL,//默认堆栈大小 24 ThreadProc,//线程入口地址 25 NULL,//传给函数的参数 26 0,//指定线程立即运行 27 &dwThreadId);//返回线程的ID号 28 //cout<<"Now another thread has been create.ID="<<dwThreadId<<endl; 29 printf("Now another thread has been create.ID=%d\n",dwThreadId); 30 printf("线程已开始......\n"); 31 ::WaitForSingleObject(hThread,INFINITE); 32 ::CloseHandle(hThread); 33 printf("线程已结束......"); 34 return 0; 35 36 }
有兴趣的话对比一下cout和printf的区别,本人无意中发现的。