c++多线程函数----AfxBeginThread
来源:互联网 发布:淘宝二手怎么卖东西 编辑:程序博客网 时间:2024/05/17 03:18
函数原型:
CWinThread* AfxBeginThread( AFX_THREADPROC pfnThreadProc, LPVOIDpParam, intnPriority= THREAD_PRIORITY_NORMAL, UINTnStackSize= 0, DWORDdwCreateFlags= 0, LPSECURITY_ATTRIBUTESlpSecurityAttrs= NULL );
CWinThread* AfxBeginThread( CRuntimeClass* pThreadClass, intnPriority= THREAD_PRIORITY_NORMAL, UINTnStackSize= 0, DWORDdwCreateFlags= 0, LPSECURITY_ATTRIBUTESlpSecurityAttrs= NULL );
以上两个函数分别为工作者线程和用户界面线程的原型。
MFC中有两类线程,即上边的工作者线程和用户界面线程。两者的区别主要在于工作者线程没有消息循环,而用户界面线程有自己的消息队列和消息循环。
工作者线程没有消息机制,用来执行后台计算和维护任务,如冗长的计算过程,打印机的后台打印等。用户界面线程一般用于处理独立于其他线程之外的用户输入,响应用户及系统产生的事件和消息等。
但是对于win32的API编程来说,这两种线程是没有区别的,她们都只需要线程的启动地址即可。
下面分别介绍这两个函数原型及参数:
工作者线程:
CWinThread* AfxBeginThread( AFX_THREADPROC pfnThreadProc, LPVOID pParam, int nPriority = THREAD_PRIORITY_NORMAL, UINT nStackSize = 0, DWORDdwCreateFlags = 0, LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL );
参数:pfnThreadProc:指向工作者线程的执行函数的指针,工作者线程函数原型必须声明如下:
UINT MyControllingFunction( LPVOID pParam );
pParam:传给线程函数的一个参数,如上工作线程函数原型中的pParam。
nPriority:线程的优先级,如果为0,子线程和创建线程有着同等的优先级。可以通过SetThreadPriority函数设置指定线程的优先级。
nStackSize:指定新线程栈的大小,如果为0,子线程堆栈的大小和父进程一致。
dwCreateFlags:指定创建的工作线程的额外标志。可以是其中之一:
- CREATE_SUSPEND 线程创建后立即挂起,直到调用ResumeThread函数
- 0 创建完线程后,线程立即执行。
RUNTIME_CLASS( class_name )。class_name 为类的实际名称。
其他和工作线程函数一致。
对此函数说明:
c++多线程(四),多线程实例六
- c++多线程函数----AfxBeginThread
- c++多线程函数----AfxBeginThread
- AfxBeginThread函数
- afxbeginthread函数
- AfxBeginThread函数
- 【C++】AfxBeginThread
- VC++ ----> 多线程AfxBeginThread
- MFC 多线程AfxBeginThread
- AfxBeginThread函数初探
- AfxBeginThread函数初探
- AfxBeginThread函数初探
- AfxBeginThread函数初探
- AfxBeginThread函数初探
- MFC全局函数::AfxBeginThread
- MFC全局函数::AfxBeginThread
- MFC全局函数::AfxBeginThread
- AfxBeginThread函数创建进程
- AfxBeginThread()函数
- loadrunner 迭代参数1 file类型
- 转在ASP.NET中以编程方式设置母版页
- 【转】MFC 如何添加自定义消息及其响应函数
- POJ3273:Monthly Expense
- Spring MVC之SimpleFormController的简单使用
- c++多线程函数----AfxBeginThread
- JDBC 建立MySQL连接
- 第八周任务2
- 第八周任务三
- 转StringBuilder和String有哪些区别?
- 关闭Activity
- 第八周实验报告2
- C++操作符替代名
- C++复习六(英尺转化表)