当前位置: 首页 > news >正文

Windows10 VS2017 C++多线程传参和等待线程结束

版权声明:本文可能为博主原创文章,若标明出处可随便转载。 https://blog.csdn.net/Jailman/article/details/85322164

#include "pch.h"
#include <iostream>
#include <windows.h>

using namespace std;

typedef struct MyData
{
	const char* str;
}MYDATA;

//线程函数
DWORD WINAPI Fun(LPVOID lpParamter)
{
	MYDATA *pmd = (MYDATA *)lpParamter;
	for (int i = 0; i < 10; i++)
	{
		cout << "Displaying " << pmd->str << endl;
		Sleep(500);
	}
	return 0;

}

int main()
{
	//使用struct传递参数
	MYDATA xstr;
	xstr.str = "你好!";

	//使用GetExitCodeThread()轮询检查
	//DWORD exitCode = 0;
	//HANDLE hThread = CreateThread(NULL, 0, Fun, &xstr, 0, NULL);
	//while (1) {
	//	GetExitCodeThread(hThread, &exitCode); // 严重浪费 CPU 时间
	//	if (STILL_ACTIVE != exitCode)
	//		break;
	//}
	//CloseHandle(hThread);

	//WaitForSingleObject(),cpu使用率极低
	HANDLE hThread = CreateThread(NULL, 0, Fun, &xstr, 0, NULL);
	WaitForSingleObject(hThread, INFINITE); // 等待,直到线程被激发
	CloseHandle(hThread);

	cout << "Child thread is over." << endl;
	return 0;

}

参考文章:
https://www.cnblogs.com/XiHua/p/5028329.html

相关文章:

  • ZooKeeper的安装与部署
  • Vue.js常用指令:v-on
  • 如何设计一个比特币钱包服务
  • JS 编译器都做了啥?
  • 如何判断/获取屏幕的状态(亮屏已解锁,亮屏未解锁,黑屏)
  • CSS3 animation 练习
  • 腾讯从百度挖来的AI Lab负责人张潼离职,要去阿里?
  • LevelDB 入门 —— 全面了解 LevelDB 的功能特性
  • TOP 13大最热开源微服务Java框架
  • Zk集群部署
  • 驰骋工作流引擎设计系列04 流程引擎表结构的设计
  • [POJ 1915] Knight Moves
  • 多元统计分析-因子分析
  • 2019.01.06-dtoj-3729: Gty的游戏
  • Django 错误之 No module named ‘MySQLdb’
  • 【跃迁之路】【519天】程序员高效学习方法论探索系列(实验阶段276-2018.07.09)...
  • 2017 年终总结 —— 在路上
  • css选择器
  • JavaScript的使用你知道几种?(上)
  • NSTimer学习笔记
  • python3 使用 asyncio 代替线程
  • SegmentFault 社区上线小程序开发频道,助力小程序开发者生态
  • select2 取值 遍历 设置默认值
  • STAR法则
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • webpack4 一点通
  • 力扣(LeetCode)21
  • 面试题:给你个id,去拿到name,多叉树遍历
  • 前端学习笔记之观察者模式
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 【运维趟坑回忆录 开篇】初入初创, 一脸懵
  • SAP CRM里Lead通过工作流自动创建Opportunity的原理讲解 ...
  • 东超科技获得千万级Pre-A轮融资,投资方为中科创星 ...
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • $NOIp2018$劝退记
  • (04)odoo视图操作
  • (zt)最盛行的警世狂言(爆笑)
  • (六)Hibernate的二级缓存
  • (图)IntelliTrace Tools 跟踪云端程序
  • ***测试-HTTP方法
  • .net core 6 集成和使用 mongodb
  • .NET 读取 JSON格式的数据
  • .Net 路由处理厉害了
  • .NET/MSBuild 中的发布路径在哪里呢?如何在扩展编译的时候修改发布路径中的文件呢?
  • .net项目IIS、VS 附加进程调试
  • /ThinkPHP/Library/Think/Storage/Driver/File.class.php  LINE: 48
  • ??eclipse的安装配置问题!??
  • @NestedConfigurationProperty 注解用法
  • @PreAuthorize注解
  • @Service注解让spring找到你的Service bean
  • [ 常用工具篇 ] AntSword 蚁剑安装及使用详解
  • [2013][note]通过石墨烯调谐用于开关、传感的动态可重构Fano超——
  • [C++] 统计程序耗时