MFC一次性开多个线程的简单示例

cpp 复制代码
#include <afxwin.h>

CWinApp TheApp;

UINT myThreadFunc(LPVOID);

int main()
{
	for (int i = 0; i<10; i++)
	{
		if (AfxBeginThread(myThreadFunc, (LPVOID)i))
			printf("Thread launched %d\n", i);
	}

	// Wait for the threads to complete.
	Sleep(2000);

	return 0;
}

UINT myThreadFunc(LPVOID n)
{
	for (int i = 0; i<4; i++)
		printf("%d%d%d%d%d%d\n", n, n, n, n, n, n);
	return 0;
}

为了使用mfc,先包含afxwin.h;

afxwin.h是MFC C++类库的必需文件,其中包含如CWin,CStatic,CButton,CString,CEdit等类运行所必需的头文件;它还会调用windows.h,该头文件包含有数据类型的定义、API入口点定义和其它有用的参数信息;

Afx前缀是微软MFC一个小组的名称简写,并没有别的意义;

循环调用AfxBeginThread创建10个线程,线程都执行同一个函数,每次传入的参数不一样;

运行如下;

相关推荐
无名猿7 分钟前
C++ 查找算法:std::find 与容器成员 find 的性能差距
c++·性能优化·stl·标准库
程序猿编码1 小时前
工业视觉多任务方案:可编程梯度信息视觉框架,训练评估 + C++ 部署完整实战
开发语言·c++·视觉·推理引擎
朝朝辞暮i2 小时前
C++ 第 21 课:struct —— 把一组相关数据打包在一起
开发语言·c++·算法
SHARK_pssm3 小时前
【C++——类和对象(下)】
开发语言·c++·经验分享·笔记
汉克老师3 小时前
GESP2026年9月认证C++二级( 第一部分选择题(1~7题)精讲
c++·gesp·小学生·学c++编程
沫璃染墨4 小时前
《从零入门Linux系统篇(五十四):线程篇·七——互斥锁底层原理:从原子交换到线程竞争与锁实现》
linux·运维·服务器·开发语言·c++·驱动开发·系统架构
可乐ea5 小时前
GitHub Security Lab 开源 Fuzzing Taskflow:让 LLM 智能体自己跑完 C/C++ 模糊测试
jvm·c++·github·模糊测试·mcp·代码agent·智能体自动化
朝朝辞暮i5 小时前
C++ 第 13 课:值传递 —— 为什么函数里改了,外面却没变?
java·c++·算法
无忧.芙桃7 小时前
C++语言原理与实践(十):vector类的底层实现
开发语言·c++·算法
无名猿7 小时前
std::variant 完全指南:类型安全的 union 与 std::visit 用法
c++·stl·标准库·现代c++