【AfxBeginThread】使用小结

本文介绍了在MFC中如何使用AfxBeginThread函数创建多线程,并详细展示了两种方式:一种是传递int类型参数;另一种是通过结构体传递多个参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文中涉及到的部分内容也是参照网上学习的,在此作出说明。

参照:http://blog.youkuaiyun.com/oceanlucy/article/details/7345057

【AfxBeginThread】参数,如果只是简单的传【int】类型的

//多线程函数的定义;
UINT Thread1(int pParam)
{
	int nSize = pParam;
	//你的其他处理代码。。。
	return 0;
}

//多线程的使用部分;
int nSize = 50;
AfxBeginThread((AFX_THREADPROC)Thread1, (VOID*)nSize , THREAD_PRIORITY_NORMAL, 0, 0, NULL);


【AfxBeginThread】参数,如果要传多个参数或者传入结构体

//定义一个全局的结构体;
typedef struct SthData 
{
	int iStr;
	int iEnd;
}*pSthData;

//多线程函数的定义;
VOID Thread1(LPVOID lpParam)
{
	//获得结构体中的值;
	SthData* pStcSthData = (SthData *)lpParam;
	int iStr = pStcSthData->iStr; 
	int iEnd = pStcSthData->iEnd;

	//你的其他处理代码。。。

	//最后记得删除结构体的指针并指向NULL;
	delete pStcSthData;
	pStcSthData = NULL;
}

//多线程的使用部分;
	pSthData pDataValue1 = new SthData;
	memset(pDataValue1, 0x00, sizeof(SthData));
	pDataValue1->iStr = 0;
	pDataValue1->iEnd = 10;

	AfxBeginThread((AFX_THREADPROC)BoltThread1, pDataValue1, THREAD_PRIORITY_NORMAL, 0, 0, NULL);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值