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的区别,本人无意中发现的。

posted @ 2013-11-25 14:35  玄奘三藏  阅读(276)  评论(0编辑  收藏  举报