C语言 多线程测试

1、CreateThread 在主线程的基础上创建一个新线程

2、WaitForMultipleObjects 主线程等待子线程

3、CloseHandle 关闭线程

 1 // testThread.cpp : 定义控制台应用程序的入口点。
 2 
 3 #include "stdafx.h"
 4 #include "windows.h"
 5 
 6 #define MAX_THREADS 3
 7 
 8 //子线程函数  
 9 DWORD WINAPI ThreadFun(LPVOID pM)  
10 {  
11     printf("\n我是子线程:%d\n",pM);
12     printf("子线程的线程ID号为:%d\n", GetCurrentThreadId());  
13     return 0;  
14 } 
15 
16 int _tmain(int argc, _TCHAR* argv[])
17 {
18     printf("我是主线程\n");
19 
20     //HANDLE handle = CreateThread(NULL, 0, ThreadFun, NULL, 0, NULL);  
21     //WaitForSingleObject(handle, INFINITE);     
22 
23     HANDLE hThread[MAX_THREADS];
24     int i;
25     for(i = 0; i < MAX_THREADS; i++){
26         hThread[i] = CreateThread(NULL, 0, ThreadFun,(LPVOID *) i, 0, NULL);  //创建多线程
27     }
28     if(hThread[i]==NULL)
29     {
30         ExitProcess(i);//退出进程
31     }else{
32         printf("hThread:,%d\n",hThread[i]);
33     }
34 
35     WaitForMultipleObjects(MAX_THREADS,hThread,TRUE,INFINITE);//主线程等待子线程结束
36 
37     for(i = 0; i < MAX_THREADS; i++){
38          CloseHandle(hThread[i]);//关闭线程
39     }
40 
41     return 0;
42 }

 测试结果如下:

 

转载于:https://www.cnblogs.com/wanglin2016/p/6041199.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值