MFC全局函数AfxBeginThread.doc
文本预览下载声明
MFC全局函数AfxBeginThread?及其与CreateThread的区别
2009-08-18 11:03:18
转载
标签:
createthread
it 分类: 函数功能描述:创建新的线程函数原型:CWinThread* AfxBeginThread AFX_THREADPROC pfnThreadProc, LPVOID pParam, int nPriority THREAD_PRIORITY_NORMAL, UINT nStackSize 0, DWORD dwCreateFlags 0, LPSECURITY_ATTRIBUTESlpSecurityAttrs NULL ;CWinThread* AfxBeginThread CRuntimeClass* pThreadClass, int nPriority THREAD_PRIORITY_NORMAL,UINT nStackSize 0, DWORD dwCreateFlags 0, LPSECURITY_ATTRIBUTES lpSecurityAttrs NULL ;返回值:指向新创建的线程对象。参数:pfnThreadProc:工作线程的函数指针,不可以为空。并且工作线程的函数必须如此声明: UINT MyControllingFunction LPVOID pParam ;pThreadClass: 从CWinThread类继承来的对象的RUNTIME_CLASS指针。pParam: 传递给工作线程函数pfnThreadProc的参数。nPriority: 线程的优先级。如果为0,则与创建它的线程优先级相同。可以通过参考Win32 Programmer’s Reference中的SetThreadPriority得到所有可用的优先级列表和描述。nStackSize: 以字节为单位指定新线程的堆栈大小。如果为0,则与创建它的线程的堆栈大小相同。dwCreateFlags:指定一个额外的标志控制线程的产生。它可以包括下面两个值中的一个: CREATE_SUSPENDED:以挂起模式开始线程,并且指定挂起次数.当调用ResumeThread时,这个 线程才会被执行。 0 :创建之后,马上执行线程。lpSecurityAttrs:指向SECURITY_ATTRIBUTES结构的指针,结构中指定了线程的安全属性。如果为NULL,则与 创建它的线程的安全属性相同。如果希望得到更多的有关SECURITY_ATTRIBUTES结构的信息, 请参考Win32 Programmer’s Reference。注释:调用这个函数创建一个新的线程。第一种形式的AfxBeginThread创建一个工作线程;第二种形式创建一个用户接口线程。AfxBeginThread创建一个新的CWinThread对象,调用它的CreateThread函数开始执行线程并且返回指向线程的指针。Checks are made throughout the procedure to make sure all objects are deallocated properlyshould any part of the creation fail. 终止线程,可以在线程函数中调用AfxEndThread, 或者从工作线程的函数中返回。了解更多的有关AfxBeginThread的信息,可以参考文章 Multithreading: Creating Worker Threads 和Multithreading: Creating User-Interface Threads in Visual C++ Programmer’s Guide.参看:AfxGetThread示例:??创建一个工作线程:UINT WorkForce LPVOID lpParameter ;//线程函数声明CWinThread *pMyFirstWorker,*pMySecondWorker;LPVOID pParam NULL;int nPriority THREAD_PRIORITY_ABOVE_NORMAL;//默认为THREAD_PRIORITY_NORMALUINT nStackSize 0;//与创建它的线程堆栈大小相同DWORD dwCreateFlags 0;//创建后立即执行LPSECURITY_ATTRIBUTES lpSecurityAttrs NULL ;//与创建它的线程安全属性相同pMyFirstWorker AfxBeginThre
显示全部