MFC中 AfxBeginThread()的函数

函数原型:
CWinThread* AfxBeginThread(
AFX_THREADPROC pfnThreadProc,//指向工作的线程,不能为空
LPVOID pParam,//参数要传递到控制函数的参数中的函数声明中所示pfnThreadProc
int nPriority = THREAD_PRIORITY_NORMAL,
UINT nStackSize = 0,
DWORD dwCreateFlags = 0,
LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL);

CWinThread* AfxBeginThread(
CRuntimeClass* pThreadClass,
int nPriority = THREAD_PRIORITY_NORMAL,
UINT nStackSize = 0,
DWORD dwCreateFlags = 0,
LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL);
参数
pfnThreadProc
指向工作线程的控件函数。 不能为 NULL。 必须按如下所示声明此函数:
UINT __cdecl MyControllingFunction( LPVOID pParam );

pThreadClass
对象的 RUNTIME_CLASS 派生自CWinThread。
pParam
参数要传递到控制函数的参数中的函数声明中所示pfnThreadProc。
nPriority
所需的线程优先级。 有关完整列表和可用优先级的说明,请参阅SetThreadPriority Windows SDK 中。
nStackSize
以字节为单位的新线程的堆栈中指定的大小。 如果为 0,堆栈大小默认为同一个与创建线程堆栈大小。
dwCreateFlags
指定一个额外的标记的线程的创建操作进行控制。 此标志可以包含两个值之一:
CREATE_SUSPENDED 开始挂起计数为 1 的线程。 如果你想要初始化的任何成员数据,请使用 CREATE_SUSPENDEDCWinThread对象,例如m_bAutoDelete或派生类中之前在线程开始运行, 的任何成员。 你的初始化完成后,使用cwinthread:: Resumethread开始运行的线程。 在线程不会执行直到CWinThread::ResumeThread调用。
0创建后立即启动线程。
lpSecurityAttrs
指向SECURITY_ATTRIBUTES结构,它指定线程的安全属性。 如果为 NULL,则将使用与创建线程相同的安全属性。 此结构的详细信息,请参阅 Windows SDK。
返回值
指向新创建的线程对象,或者如果发生故障,则为 NULL 指针。

备注
第一种形式AfxBeginThread创建工作线程。 第二个窗体作为用户界面线程或工作线程创建可以为提供服务的线程。
AfxBeginThread 创建一个新CWinThread对象,调用其CreateThread函数开始执行线程,并将指针返回到线程。 整个过程进行检查以确保所有对象都都已解除分配正确应创建的任何部分出现故障。 若要结束该线程,请调用AfxEndThread从中的线程或从工作线程控制函数返回。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值