MFC线程创建及使用

MFC线程的使用过程大致如下:
1.创建线程
2.创建线程函数
3.结束线程


#创建线程
HANDLE CreateThread(LPSECURITY_ATTRIBUTES lpThreadAttributes,      		//安全等级,一般为NULL
DWORD dwStackSize,  																					//线程深度,一般为0
LPTHREAD_START_ROUTINE lpStartAddress,  										//线程函数
LPVOID lpParameter,  																					//传递给线程函数的参数
DWORD dwCreationFlags,  																			//线程函数的初始状态
LPDWORD lpThreadId);  																				//线程ID
其中第五个参数常用有0或CREATE_SUSPENDED,若为0,则线程在被创建后立即执行;若为CREATE_SUSPENDED,则线程处于挂起状态,并不马上执行,直至调用函数 ResumeThread; 
示例:CreateThread(NULL, 0, FuncReadImage, this, CREATE_SUSPENDED, m_IpThreadID);
#创建线程函数
DWORD _stdcall  FuncReadImage(LPVOID para);
线程函数需要放在MFC类外
大部分传递的参数都是MFC类,然后在类内编写一个需要独立运行的函数。
示例:
DWORD _stdcall  FuncReadImage(LPVOID para)

{
CdisplayDlg m_dlg = (CdisplayDlg)para; //通常将程序类本身传递给线程函数
while (true)
{
m_dlg->m_ReadImage(); //在线程内调用程序的功能函数
Sleep(100);
}
return 0;
}
#线程结束
void ExitThread(DWORD ExitCode)

以上为个人学习笔记,如有错误,敬请指出。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值