C语言 多线程测试
1、CreateThread 在主线程的基础上创建一个新线程
2、WaitForMultipleObjects 主线程等待子线程
3、CloseHandle 关闭线程
// testThread.cpp : 定义控制台应用程序的入口点。 #include "stdafx.h"
#include "windows.h" #define MAX_THREADS 3 //子线程函数
DWORD WINAPI ThreadFun(LPVOID pM)
{
printf("\n我是子线程:%d\n",pM);
printf("子线程的线程ID号为:%d\n", GetCurrentThreadId());
return ;
} int _tmain(int argc, _TCHAR* argv[])
{
printf("我是主线程\n"); //HANDLE handle = CreateThread(NULL, 0, ThreadFun, NULL, 0, NULL);
//WaitForSingleObject(handle, INFINITE); HANDLE hThread[MAX_THREADS];
int i;
for(i = ; i < MAX_THREADS; i++){
hThread[i] = CreateThread(NULL, , ThreadFun,(LPVOID *) i, , NULL); //创建多线程
}
if(hThread[i]==NULL)
{
ExitProcess(i);//退出进程
}else{
printf("hThread:,%d\n",hThread[i]);
} WaitForMultipleObjects(MAX_THREADS,hThread,TRUE,INFINITE);//主线程等待子线程结束 for(i = ; i < MAX_THREADS; i++){
CloseHandle(hThread[i]);//关闭线程
} return ;
}
测试结果如下:
C语言 多线程测试的更多相关文章
- 转载~kxcfzyk:Linux C语言多线程库Pthread中条件变量的的正确用法逐步详解
Linux C语言多线程库Pthread中条件变量的的正确用法逐步详解 多线程c语言linuxsemaphore条件变量 (本文的读者定位是了解Pthread常用多线程API和Pthread互斥锁 ...
- Junit使用GroboUtils进行多线程测试
写过Junit单元测试的同学应该会有感觉,Junit本身是不支持普通的多线程测试的,这是因为Junit的底层实现上,是用System.exit退出用例执行的.JVM都终止了,在测试线程启动的其他线程自 ...
- C 语言多线程与锁机制
C 语言多线程与锁机制 多线程 #include <pthread.h> void *TrainModelThread(void *id) { ... pthread_exit(NULL) ...
- linux下C语言多线程编程实例
用一个实例.来学习linux下C语言多线程编程实例. 代码目的:通过创建两个线程来实现对一个数的递加.代码: //包含的头文件 #include <pthread.h> #include ...
- testng入门教程12 TestNG执行多线程测试
testng入门教程 TestNG执行多线程测试 testng入门教程 TestNG执行多线程测试 并行(多线程)技术在软件术语里被定义为软件.操作系统或者程序可以并行地执行另外一段程序中多个部分或者 ...
- 嵌入式C语言自我修养 13:C语言习题测试
13.1 总结 前面12节的课程,主要针对 Linux 内核中 GNU C 扩展的一些常用 C 语言语法进行了分析.GNU C 的这些扩展语法,主要用来完善 C 语言标准和编译优化.而通过 C 标准的 ...
- 关于JUnit4无法支持多线程测试的解决方法
转自:https://segmentfault.com/a/1190000003762719 其实junit是将test作为参数传递给了TestRunner的main函数.并通过main函数进行执行. ...
- TestNG多线程测试-注解方式实现
用@Test(invocationCount = x,threadPoolSize = y)声明,invocationCount表示执行次数,threadPoolSize表示线程池大小. packag ...
- tp实现多语言支持测试
用tp框架实现网页多种语言切换 时间:2016-11-11 浏览次数:1120 编辑:youjiejie 网页如何设计多种语言切换,本文用tp框架实现网页多种语言切换方法结合实例形式较为详细的分析 ...
随机推荐
- GUID 全局统一标识符的介绍
GUID(全局统一标识符)是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的.通常平台会提供生成GUID的API.生成算法很有意思,用到了以太网卡地址.纳秒级时间.芯片ID码和许多可 ...
- CryptoJS DES加密
<!DOCTYPE html><html><head><meta charset="utf-8"><meta http-equ ...
- typedef 函数指针 数组 std::function
1.整型指针 typedef int* PINT;或typedef int *PINT; 2.结构体 typedef struct { double data;}DATA, *PDATA; //D ...
- html5移动端知识点总结
第一章,控制html字体大小 1.1使用媒体查询,不同分辨率设置不同的html的font-size @(min-width:320px){ html{font-size:10px;} } @(mi ...
- 微信小程序-媒体组件
audio 音频. MediaError.code 示例代码: <!-- audio.wxml --> <audio poster="{{poster}}" na ...
- dsp 28377在线升级 实例总结
使用dsp品台28377d来实现在线升级的功能. 方案 : 升级程序 + 应用程序 升级程序 : 主要的目的是将上位机发送过来的应用程序数据(ccs编译生成的.bin文件)烧写到指定位置,之后在跳 ...
- html+js 的一些小问题
html+js 的一些小问题: 选择器+遍历函数: $("#taskStatusList tr:gt(0)").find("td:eq(3)").find(&q ...
- jquery tmpl 详解
官方解释对该插件的说明:将匹配的第一个元素作为模板,render指定的数据,签名如下: .tmpl([data,][options]) 其中参数data的用途很明显:用于render的数据,可以是任意 ...
- App的启动过程
App的启动过程 所有的app都是通过launcher去启动的 launcher自己也是一个app,一个系统级别的app,放在asystem/app/下,使用系统签名. 对代码进行分析
- spice命令使用
spicec.exe -h 192.168.1.1 -p 5912 -w 主机 物理机IP 端口号 主机