线程的创建,退出及获取线程信息API代码

简介:

哈哈,这个弄完了之后,下一步就到线程的挂起,恢复,切换,终止啦。。

代码:

复制代码
 1 #include <Windows.h>
 2 #include <stdio.h>
 3 
 4 #define MAX_THREADS 5
 5 
 6 DWORD WINAPI ThreadProc(LPVOID);
 7 
 8 typedef struct _THREAD_PARAM{
 9     DWORD i;
10     DWORD dwRandom;
11     DWORD dwData;
12 } THREAD_PARAM, *LPTHREAD_PARAM;
13 
14 DWORD WINAPI ThreadProc(LPVOID lpParam)
15 {
16     LPTHREAD_PARAM pData;
17     pData = (LPTHREAD_PARAM)lpParam;
18     printf("TID = %u,\t Parameters = %u, %u, %u\n",
19         GetCurrentThreadId(),
20         pData->i, pData->dwRandom, pData->dwData);
21     HeapFree(GetProcessHeap(), 0, pData);
22     return 0;
23 }
24 
25 void main()
26 {
27     LPTHREAD_PARAM pData;
28     DWORD dwThreadId[MAX_THREADS];
29     HANDLE hThread[MAX_THREADS];
30     int i;
31 
32     for(i = 0; i < MAX_THREADS; i++)
33     {
34         pData = (LPTHREAD_PARAM)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY,
35             sizeof(THREAD_PARAM));
36         if(pData == NULL)
37         {
38             printf("HeapAlloc error;\n");
39             ExitProcess(2);
40         }
41 
42         pData->i = i;
43         pData->dwRandom = rand();
44         pData->dwData = 100;
45 
46         hThread[i] = CreateThread(
47             NULL,
48             0,
49             ThreadProc,
50             pData,
51             0,
52             &dwThreadId[i]);
53         if(hThread[i] == NULL)
54         {
55             ExitProcess(i);
56         }
57     }
58     WaitForMultipleObjects(MAX_THREADS, hThread, TRUE, INFINITE);
59     for(i = 0; i < MAX_THREADS; i++)
60     {
61         CloseHandle(hThread[i]);
62     }
63 }
复制代码
目录
相关文章
|
2月前
|
缓存 API
全球最新地震信息免费API接口教程
该接口提供全球最新地震信息,数据源自中国地震台网,每5分钟更新一次。支持POST/GET请求,需提供用户ID和KEY。返回数据包括地震等级、时间、经纬度、深度及位置等详细信息。示例请求和响应详见文档。
|
5天前
|
JavaScript API C#
【Azure Developer】Python代码调用Graph API将外部用户添加到组,结果无效,也无错误信息
根据Graph API文档,在单个请求中将多个成员添加到组时,Python代码示例中的`members@odata.bind`被错误写为`members@odata_bind`,导致用户未成功添加。
31 10
|
10天前
|
供应链 搜索推荐 API
1688榜单商品详细信息API接口的开发、应用与收益
1688作为全球知名的B2B电商平台,为企业提供丰富的商品信息和交易机会。为满足企业对数据的需求,1688开发了榜单商品详细信息API接口,帮助企业批量获取商品详情,应用于信息采集、校验、同步与数据分析等领域,提升运营效率、优化库存管理、精准推荐、制定市场策略、降低采购成本并提高客户满意度。该接口通过HTTP请求调用,支持多种应用场景,助力企业在电商领域实现可持续发展。
51 4
|
13天前
|
安全 Java 编译器
深入理解Java中synchronized三种使用方式:助您写出线程安全的代码
`synchronized` 是 Java 中的关键字,用于实现线程同步,确保多个线程互斥访问共享资源。它通过内置的监视器锁机制,防止多个线程同时执行被 `synchronized` 修饰的方法或代码块。`synchronized` 可以修饰非静态方法、静态方法和代码块,分别锁定实例对象、类对象或指定的对象。其底层原理基于 JVM 的指令和对象的监视器,JDK 1.6 后引入了偏向锁、轻量级锁等优化措施,提高了性能。
35 3
|
22天前
|
JSON API 数据安全/隐私保护
淘宝评论API接口操作步骤详解,代码示例参考
淘宝评论API接口是淘宝开放平台提供的一项服务,通过该接口,开发者可以访问商品的用户评价和评论。这些评论通常包括评分、文字描述、图片或视频等内容。商家可以利用这些信息更好地了解消费者的需求和偏好,优化产品和服务。同时,消费者也可以从这些评论中获得准确的购买参考,做出更明智的购买决策。
|
24天前
|
供应链 搜索推荐 API
探索1688榜单商品详细信息API接口:开发、应用与收益
本文深入探讨了1688榜单商品详细信息API接口的开发与应用,涵盖接口概述、开发条件、调用方法及数据处理等内容。该API帮助企业高效获取1688平台商品信息,应用于商品信息采集、校验、同步与数据分析等领域,有效提升了企业的运营效率、库存管理、销售转化率及市场策略制定能力,降低了采购成本,提升了客户满意度。
38 9
|
1月前
|
API Python
【Azure Developer】分享一段Python代码调用Graph API创建用户的示例
分享一段Python代码调用Graph API创建用户的示例
51 11
|
1月前
|
缓存 算法 API
查询域名WHOIS信息免费API接口教程
该API用于查询顶级域名的WHOIS信息,不支持国别域名和中文域名。通过POST或GET请求,需提供用户ID、KEY及待查询域名。返回信息包括域名状态、注册商、时间等详细数据。示例与文档见官网。
|
1月前
|
API 区块链
获取指定网页基础信息【TDK】免费API接口教程
该接口用于从标准网页中提取标题、关键词、描述和图标等信息。支持POST/GET请求,需提供用户ID、KEY及目标网址等参数,可选指定访问节点。返回状态码、信息提示及提取的内容。示例与详细文档见官网。
|
2月前
|
API
万年历[取当日信息]免费API接口教程
此API提供万年历当天的详细信息,包括农历、星期、宜忌、生肖、星座、节日、五行、星宿等。支持POST和GET请求,需提供用户ID和KEY。返回数据包含阳历、农历、干支、节日列表等多项内容。示例URL:https://cn.apihz.cn/api/time/getday.php?id=88888888&key=88888888。
278 10